Q: How can I convert files in memory?
A: You can use the StreamingPDFConversion
class to convert the file in memory. Here is a C# example using the memoryStream API.
public static void ConvertToPDF(MemoryStream file, string extension)
{
using (var document = new PDFDoc())
using (var memoryFilter = new pdftron.Filters.MemoryFilter((int)file.Length, false))
{
var writer = new pdftron.Filters.FilterWriter(memoryFilter);
writer.WriteBuffer(file.ToArray()); writer.Flush();
memoryFilter.SetAsInputFilter();
var options = new ConversionOptions(); options.SetFileExtension(extension);
var documentConversion = pdftron.PDF.Convert.StreamingPDFConversion(memoryFilter, options);
while (documentConversion.GetConversionStatus() == DocumentConversionResult.e_document_conversion_incomplete)
{
documentConversion.ConvertNextPage();
}
if (documentConversion.GetConversionStatus() == DocumentConversionResult.e_document_conversion_success)
{
var pdfFile = documentConversion.GetDoc().Save(SDFDoc.SaveOptions.e_linearized);
}
else
{
Console.WriteLine("Conversion failed");
}
}
}