PdfCreationOptions.Compatibility Property
Gets or sets the compatibility mode of a document.
Namespace: DevExpress.Pdf
Assembly: DevExpress.Pdf.v19.1.Core.dll
Declaration
Property Value
Type | Description |
---|---|
PdfCompatibility | A PdfCompatibility enumeration value that specifies the compatibility mode of a document. |
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 API.
- Create an empty document with no pages by calling one of the PdfDocumentProcessor.CreateEmptyDocument overload methods (e.g., using a file path).
- Call the PdfDocumentProcessor.CreateGraphics method to create PDF graphics represented by the PdfGraphics class instance. Make sure that you have reference to the DevExpress.Pdf.Drawing assembly to access PdfGraphics.
- Draw the graphic content (e.g., an image, a string, lines, polygons) by calling the corresponding Draw method.
- Use the PdfDocumentProcessor.RenderNewPage method to render a page with created graphics.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-generate-a-document-layout-from-scratch-t244516
using DevExpress.Pdf;
using System;
using System.Drawing;
namespace DocumentCreationAPI
{
class Program {
static void Main(string[] args)
{
using (PdfDocumentProcessor processor = new PdfDocumentProcessor())
{
// Create an empty document.
processor.CreateEmptyDocument("..\\..\\Result.pdf");
// Create and draw PDF graphics.
using (PdfGraphics graph = processor.CreateGraphics())
{
DrawGraphics(graph);
// Render a page with graphics.
processor.RenderNewPage(PdfPaperSize.Letter, graph);
}
}
}
static void DrawGraphics(PdfGraphics graph)
{
// Draw text lines on the page.
SolidBrush black = (SolidBrush)Brushes.Black;
using (Font font1 = new Font("Times New Roman", 32, FontStyle.Bold))
{
graph.DrawString("PDF Document Processor", font1, black, 180, 150);
}
using (Font font2 = new Font("Arial", 20))
{
graph.DrawString("Display, Print and Export PDF Documents", font2, black, 168, 230);
}
using (Font font3 = 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);
}
}
}
}