PdfDocumentProcessor.CreateEmptyDocument(String) Method
Creates an empty PDF document with no pages using the file path.
Namespace: DevExpress.Pdf
Assembly: DevExpress.Docs.v19.1.dll
Declaration
Parameters
Name | Type | Description |
---|---|---|
path | String | A string that is the full path to the PDF document file. |
Remarks
Use this method to create an empty document. 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.
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.
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.
- 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);
}
}
}
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the CreateEmptyDocument(String) method.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.