New PDF features.

  • Multimedia in PDF – embed MP4 video, MP3 audio and Flash content in PDFs
  • PDF Forms – Add PDF form fields to PDF pages (text fields, buttons, check boxes etc)
  • PDF Actions – Add scripting to PDF to allow interaction with media, forms, 3D and other parts of the PDF
  • 3D Graphics – improved interaction with 3D graphics

One of the big topics for debate at the 2017 Berlin users meeting was using source control for APP documents. We had a few ideas but one which stuck was the idea of being able to save each of the tags in the APP document as a separate file which can then be managed. So, as a ‘technology preview’ we’re providing a new save mode for APP documents (tsaved, fTemplate.saveFolder()) which will create a folder full of files. Each file is a tag in the APP file. A new file (.3manifest) will act as the backbone of the APP document with links to all the separate files. Namespaces are saved as sub-folders. There are some new saving preferences for this feature too, including clearing out all folder contents when saving. We’re really interested in what you think of this approach and would love to hear what other functionality you’d like to see to take this further. One extension we’re thinking of is to ‘autoload’ new content which gets dropped into the folder so that if an XML file or a graphic is dropped in, a new tag would be created in the APP document to represent it. A ‘technology preview’ is a release of a feature in an unsupported state for users to try out and provide feedback to us so we’re looking forward to hearing from you.

We have made some updates to the remote debugger in this release:

  • We have shifted the buttons onto a toolbar rather than having them scattered all over the place, and provided a nicer title bar.
  • We have added keyboard shortcuts for some common tasks like F5 to refresh, Ctrl-S to save as well as key presses for the debugger interaction and to set breakpoints.

The print dialogue has had a couple of tweaks. Firstly the default driver is now the PDF driver (rather than Windows). Then the default location is now ‘{.}’ rather than ‘{@}’. Lastly we removed some of the ancient output drivers from the list – if you really want them back, let me know.

Finally, a small addition to the fPage object allows you to set the string to use in PDFs as the page number.

The release notes now say this:

  • Updated ICU library to version 52, extending language support.
  • Updated PStill and PDFlib libraries.
  • Fixed issue with XPath node position comparisons returning random results.
  • Fixed crashes related to XML Namespace handling, XPath, and XInclude.
  • Added document preference to enable tnsuri-based formatting and XPath namespace prefix declarations when using XML DOM streams.
  • JS Debugger title and toolbar improvements.
  • Added new JS Debugger keyboard shortcuts for refresh, saving, and debugger control.
  • Improved printer dialog defaults.
  • Added support for custom PDF page numbers.
  • Multiple XML Printer driver fixes and improvements.
  • Fixed FOM fStream.recordUndo flag
  • Fixed crash setting page number padding when “one file for all pages” is selected (SPR 7015636)
  • Fixed crash with JS Stored Object tags (SPR 6902989)
  • Prevented JS template variable from being reset when loading new documents (SPR 6933192)
  • Fixed index bookmark PI mode to work with non-XML indexes (SPR 2812487)
  • Fixed issue with XML augmentation not clearing XPath cache (SPR 4831679)
  • Fixed issue linking to external PDF files (SPR 2812759)
  • Fixed frame shift resolving incorrectly when printing (SPR 5153257)
  • Fixed “First on line” running header mode (SPR 6678705)
  • Fixed issue with bookmarks being generated on the wrong PDF layer.
  • Fixed issue with index entrypageattr mode triggering when not being set

And the FOM release notes say this:

  • Added new calling syntax for fFormatting.addImage() and fFormatting.addU3D() methods.
  • Added fTag.TYPE_PDF_MEDIA_ASSETS, TYPE_PDF_FORM_ITEM, and TYPE_PDF_ACTION constants.
  • Added fRaster.FT_AUDIO, FT_VIDEO, and FT_FLASH constants.
  • Added fFormatting.addMedia() method.
  • Added fFormatting.PDFActivationFlags and PDFAnimationStyles constant groups.
  • Added fFrame.rasterPDFName, rasterMediaFlashPlayer, rasterMediaFlashVars, rasterMediaPoster, and rasterMediaActivation properties.
  • Added fBookmark.TYPE_PDF_MEDIA, TYPE_PDF_JAVASCRIPT, and TYPE_PDF_ACTION constants.
  • Updated fBookmark.remoteName and remoteFile properties to include media and scripting content.
  • Added fPDFMediaAssets object.
  • Added fContent.pdfMediaAssets property.
  • Added fContent.createPDFMediaAssets() and getPDFMediaAssets() methods.
  • Added fPDFFormItem, fPDFFormCheckbox, fPDFFormCombobox, fPDFFormListbox, fPDFFormPushButton, fPDFFormRadioButton, fPDFFormSignature, and fPDFFormTextField objects.
  • Added fContent.PDFFormItemTypes constant group.
  • Added fContent.pdfFormItems property.
  • Added fContent.createPDFFormItem() and getPDFFormItem() methods.
  • Added fFormatting.addPDFFormItem() method.
  • Added fPDFAction object.
  • Added fContent.pdfActions property.
  • Added fContent.createPDFAction() and getPDFAction() methods.
  • Added fPDFPrinter.includeMedia, mediaAssets, generateFormItems, and actionDocumentOpen properties.
  • Added fPDFLayer.pdfName property.
  • Added pdfName and pdfLayer parameters to fFormatting.pdfNote() method.
  • Added fPDFU3DView object.
  • Added fContent.pdfU3DViews property.
  • Added fContent.createPDFU3DView() and getPDFU3DView() methods.
  • Added fRaster.u3dViews property.
  • Added fRaster.maxPages property.
  • Added fPage.pdfPageNumber property.
  • Added fTemplatePreferencesXML.enableNSDOMFormatting property.
  • Added fApplication.calculateMD5() method.
  • Added fTemplate.saveFolder() method.
  • Added fTemplatePreferencesSaving.saveFolderClear and saveFolderTagManifest properties.