Skip to main content
A newer version of this page is available. .
.NET Framework 4.5.2+

PdfDocumentProcessor.CreateEmptyDocument(Stream, PdfSaveOptions) Method

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

Namespace: DevExpress.Pdf

Assembly: DevExpress.Docs.v19.1.dll

Declaration

public void CreateEmptyDocument(
    Stream stream,
    PdfSaveOptions saveOptions
)

Parameters

Name Type Description
stream Stream

A Stream class descendant specifying the stream to which the empty PDF document should be written.

saveOptions PdfSaveOptions

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

Remarks

Use this method to create an empty document from scratch (instead of merging two existing documents). The document is created using the stream and PDF save options represented by the PdfSaveOptions object. PDF save options will be applied to the document when it is saved. Using these options, you can access the encryption options (the PdfSaveOptions.EncryptionOptions property) to protect an empty document with a password and permissions. You can also sign a document using the PdfSaveOptions.Signature property.

Then, you can continue to generate the document layout (e.g., append pages with graphics to the PDF document, generate bookmarks, and attach files) using the PDF document creation API. For more information, see the Additional Content topic.

Note

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.

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