Support for forms. The feature is named 'Interactive forms' in the PDF specification. Main scenarios to consider: - Reading of the data in the forms. - Writing data to the forms. Available in R2 2017 Release
They are exported with the /EmbeddedFiles switch. This would allow adding external files to the PDF document.
Support conversion of XPS documents to PDF using RadPdfProcessing.
For details: https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSig/Acrobat_DigitalSignatures_in_PDF.pdf This feature is a must have for every business or enterprise! Available in R2 2017 Release
Implement API for adding document outline (a.k.a bookmarks).
Add support for documents containing RTL (right-to-left) text.
This API should provide a method for removing all fields and widgets in the document and draw the default widget appearance in place of the removed widgets. WORKAROUND: Sample implementation for flattening form fields may be seen in the FlattenFormFields method from the attached demo project.
For example when some PDF file has uncompressed contents we may import it and apply better compression to the stream objects.
According to PDF specification, all fonts should be embedded except from 14 Standard PDF fonts. This guarantees that the PDF file is self-contained and will be rendered successfully on different devices and operation systems. However, some clients prefer not to embed fonts in order to reduce file size. That is why we may provide such API.
Paint content stream operator ("Do" in PDF specification) currently draws only Image XObjects. We should implement support for Form XObjects. Available in R2 2017 Release
Implement functionality allowing to specify that when a table is split on multiple pages, a specific row should be shown on each page. Workaround: in the attached demo projects.
Current implementation relies on valid cross-reference offsets in the PDF documents so that PDF objects are easily found and parsed. However, we can implement a mechanism for repairing documents with invalid cross-reference tables. The attached project shows how to repair the simplest case of cross-reference table by using RepairDocumentWithSimpleCrossReferenceTable method.
This would allow to encrypt documents only with Owner Password and not showing password dialog when disabling some PDF features permissions. The customer should be able to disable printing, text and graphic selection and extraction, page rotations and others. The full specification of all permission bits may be seen in Table 3.20 on page 124 in PdfReference 1.7. On page 120 in PdfReference 1.7 are described the User and Owner passwords.
You can convert the document to PDF and use the approach bellow: Currently, silent async printing may be achieved by using RadPdfViewer WPF control. Sample demo showing how to achieve this may be seen at the following forum post: http://www.telerik.com/forums/pdfviewer-print-makes-ui-unresponsive#js0YdzFWc0Oa8C3g6a18lg The RadPdfViewer WPF control used does not need to be displayed, making this demo a good workaround for ASP.NET AJAX clients.
To bring RadPDFProcessing to the next level you should support XMP metadata. This would extremely help to use pdf files from RadPDFProcessing in digital workflows. Reference: http://www.adobe.com/devnet/xmp.html
When opened in Adobe Reader it says that the file "claims compliance". However, when verifying the compliance with some validation tools there seem to be some issues mainly related but not limited to fonts.
When merging, only the widgets are copied but not their fields. This can lead to ArgumentNullException when exporting the document. Implement copying the fields and consider cases which include collision of names of the fields. Workaround: Repair the generated document using the following code:In case of Name collision, you can use the attached project or the attached project to the following feedback item to rename the duplicate fields: Provide a way to rename FormFields.foreach
(Widget widget
in
this
.pdfDocument.Annotations.Where(annot => annot.Type == AnnotationType.Widget))
{
if
(!
this
.pdfDocument.AcroForm.FormFields.Contains(widget.Field.Name))
{
this
.pdfDocument.AcroForm.FormFields.Add(widget.Field);
}
}
Currently, we support inserting png, jpg and other raster graphic images. Provide a way to insert image from SVG (vector graphic image format), by creating a FormSource from its parsed XML.
Currently, similar scenario may be achieved by converting Tiff images to BitmapSource and inserting them to RadFixedPage as images by using FixedContentEditor.