PdfCreationOptions.Compatibility Property
Gets or sets the compatibility mode of a document.
Namespace: DevExpress.Pdf
Assembly: DevExpress.Pdf.v18.2.Core.dll
Declaration
Property Value
Type | Description |
---|---|
PdfCompatibility | A PdfCompatibility enumeration value that specifies the compatibility mode of a document. |
Available values:
Name | Description |
---|---|
The document supports the ISO 32000-1:2008 standard. |
|
PdfA1b | The document supports the ISO 19005-1:2005 standard. |
PdfA2b | The document supports the ISO 19005-2:2011 standard. |
PdfA3b | The document supports the ISO 19005-3:2012 standard. |
Remarks
The Compatibility property can return one of the following enumeration values: PdfA1b, PdfA2b, PdfA3b and Pdf.
PDF/A imposes the following restrictions:
- Non-embedded fonts are not supported;
- PDF/A-1b, and PDF/A-2b documents can’t contain file attachments;
- Encryption is forbidden;
- Transparency is forbidden in a PDF/A-1 document (all transparency information is ignored and exceptions are not raised).
Note
Since PDF/A requires widget annotations must have only one appearance, PdfAcroFormCheckBoxField.ShouldGeneratePressedAppearance, PdfAcroFormRadioGroupField.ShouldGeneratePressedAppearance, PdfGraphicsAcroFormCheckBoxField.ShouldGeneratePressedAppearance, and PdfGraphicsAcroFormRadioGroupField.ShouldGeneratePressedAppearance properties do not work when a document is created with the Compatibility property set to PdfA1b, PdfA2b or PdfA3b.
Example
This example shows how to programmatically create a document with graphics using the PDF Document Creation API.
To generate a document using the Document Creation API:
- Create an empty document with no pages by calling one of the PdfDocumentProcessor.CreateEmptyDocument overload methods (e.g., using a file path).
- Create PDF graphics represented by an instance of the PdfGraphics class, calling the PdfDocumentProcessor.CreateGraphics method. To access PdfGraphics, you need to reference the DevExpress.Pdf.Drawing assembly.
- Draw the graphic content (e.g., an image, a string, lines, polygons) by calling the corresponding Draw method.
- Render a page with created graphics by calling the PdfDocumentProcessor.RenderNewPage method.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-generate-a-document-layout-from-scratch-t244516
Imports DevExpress.Pdf
Imports System
Imports System.Drawing
Namespace DocumentCreationAPI
Friend Class Program
Shared Sub Main(ByVal args() As String)
Using processor As New PdfDocumentProcessor()
' Create an empty document.
processor.CreateEmptyDocument("..\..\Result.pdf")
' Create and draw PDF graphics.
Using graph As PdfGraphics = processor.CreateGraphics()
DrawGraphics(graph)
' Render a page with graphics.
processor.RenderNewPage(PdfPaperSize.Letter, graph)
End Using
End Using
End Sub
Private Shared Sub DrawGraphics(ByVal graph As PdfGraphics)
' Draw text lines on the page.
Dim black As SolidBrush = CType(Brushes.Black, SolidBrush)
Using font1 As New Font("Times New Roman", 32, FontStyle.Bold)
graph.DrawString("PDF Document Processor", font1, black, 180, 150)
End Using
Using font2 As New Font("Arial", 20)
graph.DrawString("Display, Print and Export PDF Documents", font2, black, 168, 230)
End Using
Using font3 As New Font("Arial", 10)
graph.DrawString("The PDF Document Processor is a non-visual component " & "that provides the application programming interface of the PDF Viewer.", font3, black, 16, 300)
End Using
End Sub
End Class
End Namespace