PDF Generating Tool Support Forum

HOME   Login   Register    Search




  Subject: Announcements
   PostPosted: 08 Jan 2010, 13:24 
Subscribe and stay informed about the new features that PD4ML has to offer.


  Subject: PD4ML for Java v360b2 released
   PostPosted: 13 Jan 2010, 17:54 
New in PD4ML v360b2:
  • Dynamic font substitution logic (auto-switch to another TTF font if the current one cannot display all content glyphs)
    Starting with the version, the code like the following
    <font face="Arial">
    欢迎<br>
    歡迎<br>
    Καλοσωρίσατε<br>
    اهلا وسهلا<br>
    Добро пожаловать<br>
    </font>
    produces correct output, despite the fact Arial font has no Chinese glyphs. In the case PD4ML looks for a similar font which has the missing characters. Of course the substitution font must be among the fonts configured for TTF embedding.
  • Page-oriented address space for absolutely positioned elements.
    Now explicit page breaks in regular flow content do not impact absolute positioned elements.
  • Basic HTTP authentication support.
    The code
    Map m = new HashMap();
    m.put(PD4Constants.PD4ML_BASIC_AUTHENTICATION, "login:password");
    pd4ml.setDynamicParams(m);
    forces PD4ML to perform implicit basic HTTP authentication with given credentials.
  • A possibility to define bottom and top borders for table breaks.

    Example:
    TR { page-break-inside: avoid; 
    pd4ml-page-break-border-top: 1 solid red; 
    pd4ml-page-break-border-bottom: 1 solid blue; }

  • A possibility to limit resource location referencing scope and to disable PDF attachments
    Map m = new HashMap();
    m.put(PD4Constants.PD4ML_DISABLE_EXTERNAL_ATTACHMENTS, "true");
    m.put(PD4Constants.PD4ML_ALLOWED_RESOURCE_LOCATION, "http://server/webapp");
    pd4ml.setDynamicParams(m);
  • JSP taglib mapping of PD4ML.setDynamicParams()
    <pd4ml:transform screenWidth="800"  ...>
       <pd4ml:parameters>
          <pd4ml:parameter key="pd4ml.print.dialog.popup" value="true"/>
       </pd4ml:parameters>
    ...
    </pd4ml:transform>
  • Blank page suppress logic
  • MIME decoder for Lotus Notes attachments
  • Fixed bugs:
    • - relative image references from stylesheet use document location instead of the stylesheel location as docbase
    • - relative hyperlinks point to local filesystem instead of locations related to document's URL
    • - possible 1-2px gap between header/footer and page edge.


  Subject: Re: Announcements
   PostPosted: 09 Feb 2010, 13:44 
New in PD4ML v360b3:
  • Tooltips from TITLE attributes.
    The code
    Map m = new HashMap();
    m.put(PD4Constants.PD4ML_GENERATE_TOOLTIPS, "true");
    pd4ml.setDynamicParams(m);
    forces PD4ML to convert TITLE attribute values (<span TITLE="Tooltip text">Text</span>) into PDF annotations, visually appear as tooltips.

  • New PD4Util class and its utility methods allow to index a font directory and generate pd4fonts.properties on-a-fly from your application.
    /**
     * scan font directory and generate pd4fonts.properties 
     * @param fontsPath fonts directory path
     * @param fontConfigFileLocation a target directory to store pd4fonts.properties. If null, the file is stored in fontsPath.  
     * @throws IOException
     */
    public static void generateFontPropertiesFile(String fontsPath,
    		String fontConfigFileLocation) throws IOException;
        
    /**
     * scan font directory, generate pd4fonts.properties and output it to the given OutputStream.
     * @param fontsPath font directory path
     * @param bos pd4fonts.properties data output stream
     * @throws IOException
     */
    public static void generateFontPropertiesFile(String fontsPath,
    			BufferedOutputStream bos) throws IOException;
  • Fixed bug: Some PNG images may cause resulting document format corruption
    In some rare cases an attempt to compress image data (as a rule it is PNG images with tiny pixel dimensions) results compressed data size greater than the original size. Before the fix PD4ML erroneously cut the data.


  Subject: Re: Announcements
   PostPosted: 23 Feb 2010, 14:49 
New in PD4ML v360 (final release, Java):
  • Pd4Cmd command-line HTML-to-PDF converter. The new tool (a successor of PD4Php) is an integral part of PD4ML libraries now. It offers an access to virtually all PD4ML API features from command-line/batch scenarios.

  • Fixed bugs:
    • Invalid text background inheritance. Text background color, inherited from parent block elements, clashed with the block element background images.
    • MS-Office-specific 'windowtext' and 'window' color names ignored. Now they are set to black and white correspondingly.
    • No table cell background if the cell contains <br> tag only. In some situations it is more preferable to use <br> instead of &nbsp; as empty cell filler. The following code revealed the problem.
      <table border=1>
      <tr><td style="background-color: tomato; width: 40; height: 40"><BR></td></tr>
      </table>
    • Minor text flow issues


  Subject: PD4ML Licensing Term Changes
   PostPosted: 29 Apr 2010, 14:39 
Brief summary of planned PD4ML license term changes:
http://pd4ml.com/newlic.htm


  Subject: Re: Announcements
   PostPosted: 23 Nov 2010, 22:22 
New in PD4ML v370 (final release, Java):


  • RTF file format output support.

    With an API switch pd4ml.outputFormat(PD4Constants.RTF) you may force PD4ML to output RTF instead of PDF. We do not position the feature to be a professional RTF producing tool, but it still very useful, for example, to generate editable versions of web documents (to be reviewed/corrected).

    PD4ML supports nested tables, embedded images and text styles. PD4Constants.RTF_WMF output format also converts images to WMF to be compatible with MS WordPad.

  • CSS Parser patched to potentially support CSS3 features.

    Pseudo-classes with complex notation (for example, :nth-child(10n+9)) or functions in CSS properties does not cause exceptions anymore. The updated parser is available for free download also in source code form.

  • Generic support of embeddable TIFF files (CCITTFax group 4)

  • API changes
    • New render(StringReader[], ...) API call
    • enableTableBreaks() API call is renamed to enableSmartTableBreaks(). Table page break/replication of table headers code refactored.
    • getCache() and setCache() methods allow PD4ML to reuse data, cached by another PD4ML instance. PD4ML caches data in static hash tables, which implicitly share the data. The method calls make sense if the tables are aggressively garbage collected for some reasons..

  • Dummy implementations of HTML5 elements: SECTION, ARTICLE, ASIDE, HGROUP, HEADER, FOOTER, NAV, FIGURE, FIGCAPTION, VIDEO, AUDIO, MARK, PROGRESS, METER, TIME, RUBY, WBR, CANVAS, COMMAND, DETAILS and OUTPUT. Now you may apply CSS styles to the tags.

  • Optional image caching in local $TEMP directory

    The code
    Map m = new HashMap();
    m.put(PD4Constants.PD4ML_CACHE_IMAGES_IN_TMP_DIR, "true");
    pd4ml.setDynamicParams(m);

    forces PD4ML to unload bulky images from RAM to the temp directory to give some more room for HTML rendering.

  • JAR obfuscation changed to provide compatibility with Scala programming language

  • A configuration switch to support "print" CSS media type (in addition to or instead of default "screen" type).

    Map m = new HashMap();
    m.put(PD4Constants.PD4ML_MEDIA_TYPE_PRINT, "add");
    pd4ml.setDynamicParams(m);

    another possible parameter is "override"

  • nth-child(even|odd) CSS selector support - the most straightforward way to define "striped" table backgrounds:

    TR:nth-child(even) { background-color: #cccccc }



[Reply]     [ 6 posts ] 

cron
Copyright ©2004-10 zefer|org. All rights reserved. Bookmark and Share