For example, when some PDF file has uncompressed contents we may import it and apply better compression to the stream objects. Ensure that all the content inside the document is compressed.
Currently, we have the following options for PDF export optimizations:
pdfFormatProvider.ExportSettings.ImageQuality = ImageQuality.Low;
pdfFormatProvider.ExportSettings.ImageCompression = new ImageFilterTypes[] { ImageFilterTypes.FlateDecode };
pdfFormatProvider.ExportSettings.StreamCompression = new StreamFilterTypes[] { StreamFilterTypes.FlateDecode };
pdfFormatProvider.ExportSettings.FontEmbeddingType = FontEmbeddingType.Subset;
Currently, this missing functionality may be workaround by either drawing the headers and footers with FixedContentEditor or by using RadWordsProcessing PDF export.
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.
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.
This property should work similar to PreferredWidth cell property but in vertical direction.
PDF/A-1a is with conformance level A (for "accessibility"), and must adhere to all of the requirements of the PDF Reference as modified by the ISO 19005 specification. It requires structural and semantic properties to be preserved. Level 1a uses “Tagged PDF” and Unicode character maps to preserve the document's logical structure and content text stream in natural reading order. The following features are used: - Language specification - Hierarchical document structure - Tagged text spans and descriptive text for images and symbols - Character mappings to Unicode The purpose is to improve accessibility and make the content accessible for screen readers.
The currently supported compliance levels can be found in the How to Comply with PDF/A Standard article.
Support conversion of XPS documents to PDF using RadPdfProcessing.
Currently, similar scenario may be achieved by converting Tiff images to BitmapSource and inserting them to RadFixedPage as images by using FixedContentEditor.
Note: A sample approach how to achieve such functionality is demonstrated in the Converting Multi-page TIFF Images to PDF KB article.
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
Currently, PdfStreamWriter writes only PDF pages. If we implement API for merging multiple pages or whole documents we would be able to preserve links between pages (which are currently being corrupted). Merging whole documents would also allow preserving document properties (bookmarks, interactive forms, ...). For a more detailed list of the unsupported document properties you can refer to our documentation: https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/formats-and-conversion/pdf/pdfstreamwriter/features. We may also implement API for adding initial document properties from some existing PDF file.
Add ability to create, import and modify layers (optional content) in a PDF document.
Currently RadFixedDocumentInfo is used only for export of Author, Title and Description document metadata properties. This should be extended to support custom properties. We should also implement the import of RadFixedDocumentInfo.
or there should be an optional parameter "bool AcceptNewlines" or "bool IgnoreNewlines"
Currently, this can be implemented like this:
private void InsertTextWithNewlines(Block block, string text)
{
string[] lines = text.Split(new[] {"\r\n", "\r", "\n"}, StringSplitOptions.None);
for (int i = 0; i < lines.Length; i++)
{
block.InsertText(lines[i]);
if (i < lines.Length - 1)
{
block.InsertLineBreak();
}
}
}
When merging documents containing the same embedded font every time a document is merged the same font is repeatedly embedded in the merged document. This leads to very large files.
A possible workaround before this feature is developed could be to use the PdfProcessing model to import and merge the documents. After the documents are merged to iterate the document`s content in order to cache the fonts using their name and if there are duplicated names to set the already cached one (check the attached project).
As a side note, the suggested workaround doesn't cover all possible cases (e.g. if there are fonts with a common name but different font sets (modified fonts or font subsets) this may lead to missing/different characters in the produced document). So in order to use this workaround, you will need to ensure the font names are unique for every different font.
This missing functionality may be workaround by implementing and registering custom IPdfFilter implementation that decodes JPEG2000 images. The custom decoder may be registered with FiltersManager class and its implementation may be similar to RadPdfViewers JpxDecoder SDK example implementation: - https://github.com/telerik/xaml-sdk/blob/master/PdfViewer/CustomDecoder/JpxDecoder.cs