[ 
https://issues.apache.org/jira/browse/OPENMEETINGS-247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

George Kirkham reopened OPENMEETINGS-247:
-----------------------------------------


Apologies, there was a fault in the diff file that I uploaded. It contained two 
spaces with must not exist.

I will attach a new diff file which corrects these two errors.


Thanks,

George Kirkham

                
> Make document conversion quality an administrator changeable option
> -------------------------------------------------------------------
>
>                 Key: OPENMEETINGS-247
>                 URL: https://issues.apache.org/jira/browse/OPENMEETINGS-247
>             Project: Openmeetings
>          Issue Type: Improvement
>          Components: Converters
>    Affects Versions: 2.0 Apache Incubator Release
>         Environment: Debian Squeeze,  
> openmeetings-2.0.0.r1328537-20-04-2012_2319.tar.gz (Build #43)
>            Reporter: George Kirkham
>              Labels: configuration, conversion, converter, quality
>             Fix For: 2.0 Apache Incubator Release
>
>         Attachments: SwfToolsZoom1.diff
>
>
> I have the need to improve the quality of converted PDF, Word or PowerPoint 
> files, that is increase the resolution of the conversion process for   Word 
> PDF and PowerPoint files are converted to *.swf files.
> Currently the quality of any images within converted documents is so poor 
> that we cannot clearly read the text within the images contained in documents.
> This may be able to be resolved by allowing the quality of file conversion to 
> be adjustable in the administration section of OpenMeeting or in the 
> config.xml file.
>  
> Checking the OpenMeetings log it would seem that it is using pdf2swf without 
> any "-j" setting, I found this in the log file;
> args: [/usr/local/bin/pdf2swf, -s, insertstop, -s, poly2bitmap, -I, 
> /user/lib/red5/webapps/openmeetings/upload/files/le8...
> Checking some of the source code I noticed that in the code these does not 
> appear that the "-j" option is being used, therefore I guess the default 
> value of 85% is being used when converting documents.
>  
> -j , --jpegquality quality     Set quality of embedded jpeg pictures to 
> quality. 0 is worst (small), 100 is best (big). (default:85)
>  zoom=<dpi>        the resultion (default: 72)
> I could not find any settings in the 
> /usr/lib/red5/webapps/openmeetings/config.xml file for the pdf2swf arguments.
>  
> And I don't think that I can change this in OpenMeetings, it is most likely 
> set somewhere in the source code?
>  
> Sadly I have never managed to successfully build OpenMeetings using "ant", 
> but checking the source code, maybe the place to add the "-j" option may be 
> in;
> ./openmeetings/trunk/singlewebapp/src/org/openmeetings/app/documents/GenerateSWF.java
>   line 216
> // Create the Content of the Converter Script (.bat or .sh file)
>  
> I wonder if the developers would be able to add the "-j" option and a "-s 
> zoom=xxx" option as a user setting, and allow this value to be adjustable by 
> administrators?
> For example, I made the following changes so I could test the JpegQuality and 
>  zoom options;
> /singlewebapp/src/install_step1_EN.vm 
> ./src/.svn/text-base/install_step1_EN.vm.svn-base
>     <fieldset id="userConf1">
>               <legend>Converters</legend>    
>               <li>
>               <label for="swftools_path">SWFTools Path</label>
>               <input name="swftools_path" id="swftools_path" size="27" 
>               title="Enter the path to swftools for example C:/swftools 
> (Windows) or leave blank if swftools is a known to your system path" 
> type="text" />           
>               <p><i>You can test if swftools is installed into system path by 
> opening a shell or cmd-prompt and type pdf2swf<br/>
>                       If this shows a list of options leave this field blank 
> otherwise you have to specify the path to pdf2swf on your system<br/>
>                       see also <a 
> href="http://incubator.apache.org/openmeetings/installation.html"; 
> target="_blank">Installation</a></i></p>
>         </li>
>       <li>
>               <label for="swftools_zoom">SWFTools Zoom</label>
>               <input name="swftools_zoom" id="swftools_zoom" size="4"  
> value="100"
>               title="Enter the dpi that swftools will use for PDF to SWF 
> conversion" type="text"       />     
>               <p><i>You can test if swftools is installed into system path by 
> opening a shell or cmd-prompt and type pdf2swf<br/>
>                       Enter the dpi that swftools will use for PDF to SWF 
> conversion. Default is 100 dpi.<br/>
>                       see also <a 
> href="http://incubator.apache.org/openmeetings/installation.html"; 
> target="_blank">Installation</a></i></p>
>               
>         </li>
>       <li>
>               <label for="swftools_jpegquality">SWFTools JPEG Quality</label>
>               <input name="swftools_jpegquality" id="swftools_jpegquality" 
> size="3" value="85" 
>               title="Enter the quality of embedded jpeg pictures to quality. 
> 0 is worst (small), 100 is best (big). (default:85)"  type="text" />     
>               <p>
>               <i>You can test if swftools is installed into system path by 
> opening a shell or cmd-prompt and type pdf2swf<br/>
>                       Enter the quality of embedded jpeg pictures to quality. 
> 0 is worst (small), 100 is best (big). (default:85)<br/>
>                       see also <a 
> href="http://incubator.apache.org/openmeetings/installation.html"; 
> target="_blank">Installation</a></i>
>               </p>
>         </li>
>                       
> =====================================================================================================
>                       
> ./src/org/openmeetings/app/installation/ImportInitvalues.java:298:
> ./src/org/openmeetings/app/installation/.svn/text-base/ImportInitvalues.java.svn-base:298
>                      
>                       
>               cfgManagement.addConfByKey(3, "swftools_zoom", cfg.swfZoom, 
> null,
>                               "dpi for conversion of PDF to SWF");
>               cfgManagement.addConfByKey(3, "swftools_jpegquality", 
> cfg.swfJpegQuality, null,
>                               "compression quality for conversion of PDF to 
> SWF");
> ----------------------------------------------------------------------------------
> ./src/org/openmeetings/app/installation/InstallationConfig.java:20:
> ./src/org/openmeetings/app/installation/.svn/text-base/InstallationConfig.java.svn-base:20:
>       //SWFTools PDF to SWF conversion settings
>       public String swfZoom = "";
>       public String swfJpegQuality = "";
>                               + ", mailUseTls=" + mailUseTls + ", swfZoom=" + 
> swfZoom
>                               + ", swfJpegQuality=" + swfJpegQuality  + ", 
> swfPath=" + swfPath
> ----------------------------------------------------------------------------------
> ./src/org/openmeetings/servlet/outputhandler/Install.java
> ./src/org/openmeetings/servlet/outputhandler/.svn/text-base/Install.java.svn-base:245
>                       
>                                       cfg.swfZoom = 
> httpServletRequest.getParameter("swftools_zoom");
>                                       cfg.swfJpegQuality = 
> httpServletRequest.getParameter("swftools_jpegquality");
>                                       
> ----------------------------------------------------------------------------------
> =====================================================================================================
> ./src/org/openmeetings/app/documents/GenerateSWF.java:
> ./src/org/openmeetings/app/documents/.svn/text-base/GenerateSWF.java.svn-base:
>       private String getSwfZoom() {
>               String valueForSwfZoom = 
> cfgManagement.getConfValue("swftools_zoom", String.class, "");
>               // WARNING CODE NOT COMPLETE: If SWFTools zoom (dpi) should be 
> an integer between 50 and  600 with a default value of 100 dpi
>               if (valueForSwfZoom.equals("")) {
>                       valueForSwfZoom = "100";
>               }
>               return valueForSwfZoom;
>       }
>       private String getSwfJpegQuality() {
>               String valueForSwfJpegQuality = 
> cfgManagement.getConfValue("swftools_jpegquality", String.class, "");
>               // WARNING CODE NOT COMPLETE: If SWFTools JPEG Quality should 
> be an integer between 1 and 100, with a default value of 85
>               if (valueForSwfJpegQuality.equals("")) {
>                       valueForSwfJpegQuality = "85";
>               }
>               return valueForSwfJpegQuality;
>       }
>       public HashMap<String, String> generateSwf(String current_dir,
>                       String originalFolder, String destinationFolder, String 
> fileNamePure) {
>               
>               // Create the Content of the Converter Script (.bat or .sh File)
>               String[] argv = new String[] {
>                               getPathToSwfTools() + "pdf2swf" + execExt, "-s",
>                               "insertstop", // insert Stop command into every 
> frame
>                               "-s","poly2bitmap", 
> //http://www.swftools.org/gfx_tutorial.html#Rendering_pages_to_SWF_files
>                               "-i", // change draw order to reduce pdf 
> complexity
>                               "-j", " " + getSwfJpegQuality(), // JPEG 
> Quality to 100
>                               "-s", " zoom=" + getSwfZoom(), // set zoom dpi 
> to 200
>                               originalFolder + fileNamePure + ".pdf",
>                               destinationFolder + fileNamePure + ".swf" };
>               return ProcessHelper.executeScript("generateSwf", argv);
>       }
> =====================================================================================================
>     

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to