Skip to main content
A newer version of this page is available. .
.NET Standard 2.0+

PdfCreationOptions.Compatibility Property

Gets or sets the compatibility mode of a document.

Namespace: DevExpress.Pdf

Assembly: DevExpress.Pdf.v19.1.Core.dll

Declaration

public PdfCompatibility Compatibility { get; set; }

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.

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);
            }
        }
    }
}
See Also