Skip to content
ComPDF
DemoSampleAPI ReferenceFAQ

PDF Generation Template Editor

Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.

View on GitHub

Save a Document

ComPDFKit supports incremental saving and full saving.

When the document is saved to the original path, the PDF document will be saved incrementally, meaning all changes will be appended to the file. This can significantly speed up the saving process for large files. However, it results in an increase in document size with each save.

When the document is saved to a new path, the PDF document will undergo non-incremental saving. This entails overwriting the entire document instead of appending changes at the end.

This example shows how to save a document by incremental saving and full saving :

C#
myCPDFDocument.WriteToLoadedPath();// Incrementally save the document object to the current path.

myCPDFDocument.WriteToFilePath(newFilePath);// Save the document object to the current path in a non-incremental manner.

Save to FileStream

ComPDFKit supports saving documents to a Stream or byte[] array, making it convenient to process documents in memory or transmit them over the network without relying on the local file system.

This example shows how to save a document to a FileStream:

C#
// Save document to Stream
using (MemoryStream memoryStream = new MemoryStream())
{
    bool success = document.WriteToStream(memoryStream);
    if (success)
    {
        // Document has been successfully written to memoryStream
        byte[] pdfData = memoryStream.ToArray();
    }
}

// Save document to byte[] array
byte[] documentBytes = document.WriteToBytes();
if (documentBytes != null && documentBytes.Length > 0)
{
    // Document has been successfully converted to byte array
}

Use Cases for FileStream Operations

  • Web Applications: In ASP.NET Core and other web applications, you can directly return the PDF as a response stream to the client.
  • Cloud Storage: Upload documents directly to cloud storage services like Azure Blob Storage or AWS S3.
  • In-Memory Processing: Batch process multiple documents in memory to reduce disk I/O overhead.