How do I print a document to a memory stream? ... virtual printer to in-memory PDF

192 views
Skip to first unread message

Support

unread,
Mar 10, 2014, 4:58:35 PM3/10/14
to pdfne...@googlegroups.com
Q:

We need to print a document to a memory stream (of course, a "PDF" stream), basically a virtual printer to in-memory PDF. We do want to avoid saving the document as PDF on the disk as we’re going to send the stream to a different sub-system, possibly manipulating the stream a little bit. Does PDFNet API support this?

------
A:

Yes, this is possible. As a starting point please see Convert sample that is included as part of PDFNet SDK. Instead of saving the PDF to a file you could save it to a bugger or a stream. I am not

 

PDFNet.Initialize();

 

using (PDFDoc pdfdoc = new PDFDoc()) {

 

   if (pdftron.PDF.Convert.RequiresPrinter(path)){     

      Console.WriteLine("Printing file: " + path); // we assume here that PDFNet virtual driver is installed (see Convert sample for details).

    }

 

   pdftron.PDF.Convert.ToPdf(pdfdoc, inputPath + file.inputFile);

 

   // save to some type of output stream (or use Save() that return memory bugger byte[])…

   using (FileStream ostm = new FileStream(output_path + "doc_memory_edit.txt", FileMode.Create, FileAccess.Write)) {

      pdfdoc.Save(ostm, SDFDoc.SaveOptions.e_remove_unused);

   }

}



Reply all
Reply to author
Forward
0 new messages