PdfDocumentProcessor.CreateEmptyDocument(Stream, PdfSaveOptions, PdfCreationOptions) Method
Creates an empty PDF document with no pages using a stream, 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.v18.2.dll
Declaration
public void CreateEmptyDocument(
Stream stream,
PdfSaveOptions saveOptions,
PdfCreationOptions creationOptions
)
Parameters
Name | Type | Description |
---|---|---|
stream | Stream | A Stream class descendant specifying the stream to which the PDF empty document should be written. |
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. |
Remarks
Use this method to create an empty document. The document is created using a stream, PDF save options (represented by the PdfSaveOptions object), and PDF creation options (represented by the PdfCreationOptions object). The PDF save options will be applied to the document when it is saved.
The PDF save options allow you to access the encryption options to protect an empty document with a password and permissions (the PdfSaveOptions.EncryptionOptions property). 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.
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 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