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.
For complienace level PDF/A-2a please follow: PdfProcessing: Add support for PDF/A-2a compliance level.
The currently supported compliance levels can be found in the How to Comply with PDF/A Standard article.
Currently the DocumentInfo property is for export purposes only and meta information about documents is stripped when importing.
According to the PDF specification (ISO 32000), the document info dictionary (often called "metadata" or "Info" dictionary) can include the following standard fields:
• Title: The document’s title.
• Author: The name of the person who created the document.
• Subject: The subject of the document.
• Keywords: Keywords associated with the document.
• Creator: The application that created the original document.
• Producer: The application that converted the document to PDF.
• CreationDate: The date and time the document was created.
• ModDate: The date and time the document was last modified.
• Trapped: Indicates whether the document has been trapped (a printing term).
These fields are stored in the PDF’s Info dictionary and are used by PDF viewers for display, search, and indexing.
Purpose: Long-term archiving of electronic documents with full semantic structure.
Level "1a" ensures:
Tagged PDF (with proper logical structure and reading order)
Unicode text for proper text extraction and searchability
Embedded fonts (for consistent rendering)
Restrictions:
No audio/video
No encryption
No JavaScript
No external content (everything must be self-contained)
Based on: PDF 1.4 (Acrobat 5)
Error message:
System.InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfArray' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Functions.FunctionObject'.'The PDF/A-1 standard uses the PDF Reference 1.4 and specifies two levels of compliance:
- PDF/A-1b - Its goal is to ensure reliable reproduction of the visual appearance of the document.
- PDF/A-1a - Its objective is to ensure that documents content can be searched and re-purposed. This compliance level has some additional requirements:
Since the PdfProcessing and its PdfFormatProvider is compliant with the PDF Reference 1.7. , the produced documents are created with this version as well:
Implement Viewer related properties in PdfProcessing in order to enable the users to set PrintScaling, Duplex, and other properties which are written in the Pdf Format specification as Interactive Features. ViewerPreferences are written a document's catalog. Check p.577 from pdf reference format specification, version 1.7
It would be great if the SkiaImageExportSettings offer a DocumentUnhandledException event allowing the developer to handle specific errors when exporting to image formats.
This would be an essential improvement in the existing Exception handling mechanism and would enable exporting PDF documents to images even though some parts of the image may not be completely supported: https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/features/handling-document-exceptions
The issue is not reproducible in Q1 2025 (2025.1.205).
In Q2 2025 we introduced the MarkedContent in a RadFixedDocument.
The StokeAlphaContant is not handled correctly when applied on a TextFragment:
At this point the culture used by RadSpreadProcessing (in the FormatHelper and internally in SpreadsheetCultureHelper) is determined by the current thread culture on startup. Provide ability to: - to change the culture at runtime. Currently, when the thread culture is changed, RadSpreadProcessing is "stuck" with the original one. - set this culture independently of the current thread's one.
An empty paragraph is exported with different font size than the one coming from its style. The character properties should come from the style system. Workaround: Add at least one space in each empty paragraph.
The standard fonts listed at http://docs.telerik.com/devtools/wpf/controls/radpdfprocessing/concepts/fonts#standard-fonts cannot be embedded in a document. Using one of them prevents the document from complying with PDF/A standard.
NullReferenceException when inserting a document containing a table with a document variable having a line break (\n) in its value.
string inputFileName = "input.xlsx";
if (!File.Exists(inputFileName))
{
throw new FileNotFoundException(String.Format("File {0} was not found!", inputFileName));
}
Telerik.Windows.Documents.Spreadsheet.Model.Workbook workbook;
IWorkbookFormatProvider formatProvider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.XlsxFormatProvider();
using (Stream input = new FileStream(inputFileName, FileMode.Open))
{
workbook = formatProvider.Import(input, TimeSpan.MaxValue);
}
string outputFilePath = "output.xlsx";
using (Stream output = new FileStream(outputFilePath, FileMode.Create))
{
formatProvider.Export(workbook, output, TimeSpan.MaxValue);
}
Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true });