PDF Format Converter via C++

Export PDF to Word, Excel, PowerPoint, Images, HTML and fixed-layout formats using C++


There are few cases when there is need to manipulate documents other then PDF while having the parsing data available in PDF formats. So for such applications there will be two scenarios either they add functionality of PDF parsing within their own solution or add the PDF conversion functionality to manipulate data as of supported formats. For the second scenario to convert PDF to Word, Excel, HTML, Images or any required format, implementing C# PDF reader and converter code within .NET based is simple. We are discussing here few cases so that programmers can modify these conversion code snippets as of their requirements.

PDF to Microsoft Word 2003-2019 Conversion

Example: C# Code for PDF to Word Conversion

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToDOC.doc")

// Load the source PDF File
auto document = MakeObject<Document>(_dataDir + infilename);

// Save using save options
// Create DocSaveOptions object
auto saveOptions = MakeObject<DocSaveOptions>();

// Set the recognition mode as Flow means Full recognition mode
// Other two modes are RecognitionMode.Textbox and RecognitionMode.EnhancedFlow

// Set the Horizontal proximity as 2.5

// Enable the value to recognize bullets during conversion process

// Save the resultant DOC file
document->Save(_dataDir + outfilename, saveOptions);

Aspose.PDF for .NET library supports all PDF to Word conversions. In case we are just converting Microsoft Word documents without any special settings, we just load the PDF file using the Save method from the Document class and will use with output Word document path and SaveFormat as parameters. For the special cases where there is a need to enhance the lines distance, image resolution, and more settings, API has DocSaveOptions class that exposes all such settings.

Save PDF as Excel Files

Save PDF as Excel Files

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToExcel.xlsx");
// Load PDF document
auto document = MakeObject<Document>(_dataDir + infilename);
// Initialize ExcelSaveOptions
auto excelSave = MakeObject<ExcelSaveOptions>();
// Set output Excel XLSX format
// Minimize number of Worksheets
// Convert PDF to Excel output file
document->Save(outfilename, excelSave);

Specialized SaveFormat.Excel Enumeration available for saving PDF to specific Microsoft Excel XLS XLSX output formats. Moreover, .NET PDF Library also have a speicific ExcelSaveOptions class that not only deals saving to Excel formats but also provides different functions and properties for setting different attributes like exact output format, minimize number of worksheets and more.

Convert PDF to PowerPoint Presentations

Example: C# Code PDF to PowerPoint Conversion

// String for path name
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample-pptx.pdf");
String outfilename("sample-pptx.pptx");
// Load PDF document
Document pdfDocument = new Document("document.pdf");
auto pptxOptions = MakeObject<PptxSaveOptions>();
// Save output file
document->Save(_dataDir + outfilename, pptxOptions);

.NET PDF API supports converting PDF pages to PowerPoint Presentation Slides with selectable text or images by rendering slides as images. Pattern of saving Portable Document Format to PowerPoint is almost same, Loading the file using Document class and then calling the Save method with output file path and SaveFormat as parameters. In case of rendering with special presentation options, Programmers can use PptxSaveOptions class with any relevant specific rendering options. Calling the save method and passing the options as parameter.

Portable Document Format PDF to HTML Conversion

Example: C# Code for PDF to HTML Conversion

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToHTML.html")

// Load source PDF document
auto document = MakeObject<Document>(_dataDir + infilename);

// Instantiate HTML Save options object
auto htmlOptions = MakeObject<HtmlSaveOptions>();

// Specifying the separate folder for PDF to HTML with Images
htmlOptions->SpecialFolderForAllImages = (_dataDir + String("\\images\\"));

// Specifying the splitting option for the resultant HTML into multiple pages

document->Save(_dataDir + outfilename, htmlOptions);

PDF Parsing Library supports saving PDF to HTML as whole as well as with embedded resources including images. Procedure of conversion is same as PDF to other formats for generic cases, like loading the source document and calling the Save method with output HTML file path and SaveFormat.Html as parameters. In case of saving with embedded resources, there is a HtmlSaveOptions class having multiple options like saving images to a specific folder during the conversion, splitting the resultant HTML into multiple pages and more.

Convert PDF to Images

Example: C# Code for PDF to Images conversion

// Load document
auto document = MakeObject<Document>(_dataDir + u"ConvertAllPagesToBmp.pdf");

// Create Resolution object
 auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300); //300 dpi

// Create Image device with specified attributes
// Width, Height, Resolution
    jpegDevice = MakeObject<Aspose::Pdf::Devices::JpegDevice>(resolution);
// For BMP, PNG, TIFF it will be BmpDevice, PngDevice, TiffDevice respectively

// Convert a particular page and save the image to stream
jpegDevice->Process(document->get_Pages()->idx_get(1), imageStream);

// Close stream

Converting PDF pages into images including PNG, JPEG, TIFF, BMP etc is easy within .NET based applications using code snippets listed below. Developers can loop through PDF pages after loading the file and convert Page by Page to required image format. Developers can set the horizental and vertical resolution of images using Resolution class