Skip to main content

PdfDocumentProcessor.CreateEmptyDocument(String, PdfSaveOptions, PdfCreationOptions) Method

Creates an empty PDF document with no pages using the file path, PDF save options (containing encryption settings and a signature) that will be applied to the document when it is saved, and PDF creation options.

Namespace: DevExpress.Pdf

Assembly: DevExpress.Docs.v23.2.dll

NuGet Package: DevExpress.Document.Processor


public void CreateEmptyDocument(
    string path,
    PdfSaveOptions saveOptions,
    PdfCreationOptions creationOptions


Name Type Description
path String

A string that is the full path to the PDF document file.

saveOptions PdfSaveOptions

A PdfSaveOptions object that contains settings to encrypt and sign an empty document.

creationOptions PdfCreationOptions

A PdfCreationOptions object that contains PDF compatibility and font embedding options.


Use this method to create an empty document. The empty document is created using the file path, PDF save options (represented by the PdfSaveOptions object) that will be applied to the document when it is saved, and PDF creation options (represented by the PdfCreationOptions object).

The PDF save options allows you to access the encryption options (the PdfSaveOptions.EncryptionOptions property) to protect a document with a password and permissions. You can also sign a document using the PdfSaveOptions.Signature property.

Using the PDF creation options, you can create an empty PDF document by setting the PdfCreationOptions.Compatibility property to one of the PdfCompatibility enumeration values. You can also disable embedding all fonts when the document is created using the PdfCreationOptions.DisableEmbeddingAllFonts property or disable embedding certain fonts using the PdfCreationOptions.NotEmbeddedFontFamilies property.

This method allows you to decrease memory consumption when merging is performed especially for large documents. This is achieved by saving merge result directly on a local disk. So, the whole document content is not kept in memory during the merging process.


When all operations with a document created using the overloaded CreateEmptyDocument method are completed, you need to close the document either by calling the PdfDocumentProcessor.CloseDocument method or disposing of the PdfDocumentProcessor instance.

The PDF specification does not describe empty documents. For this reason, most third-party PDF viewers cannot open such files. This does not apply to the DevExpress WinForms PDF Viewer and WPF PDF Viewer, which are less demanding concerning the validity of opened documents, and are capable of opening documents containing no pages.


This example shows how to use PDF Graphics API to create a document with graphics content.

View Example

using DevExpress.Pdf;
using System;
using System.Drawing;

using (PdfDocumentProcessor processor = new PdfDocumentProcessor()) {

    // Create an empty document.

    // Create and draw PDF graphics.
    using (PdfGraphics graph = processor.CreateGraphics())

        // 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;

    DXFont font1 = new DXFont("Times New Roman", 32, DXFontStyle.Bold);
    graph.DrawString("PDF Document Processor", font1, black, 180, 150);

    DXFont font2 = new DXFont("Arial", 20);
    graph.DrawString("Display, Print and Export PDF Documents", font2, black, 168, 230);

    DXFont font3 = new DXFont("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