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

George Kirkham updated OPENMEETINGS-247:
----------------------------------------

    Description: 
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);
        }

=====================================================================================================



    

  was:
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)
 
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 as a user 
setting, and allow this value to be adjustable by administrators?
    

    
> 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
>
> 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