Extract images from PDF Files
The code below shows you how to extract all of the images from a PDF file and store copy them to a folder.
This sample requires a Tools license.
C#
using System; using SolidFramework.Converters; namespace PDFExtractImages { class Program { [STAThread] static void Main(string[] args) { // Call your Solid Documents License SolidFramework.License.Import(@"C:\MyFolder\license.xml"); // Set the location of your the file you want to convert String pdfPath = @"C:\YourFolder\yourpdf.pdf"; //*Extract Images from PDF File*// using (PdfToImageConverter converter = new PdfToImageConverter()) { //Add the Selected File converter.AddSourceFile(pdfPath); //Set where to save the images converter.OutputDirectory = @"C:\MyPDFImages"; //Extract the images using .Convert converter.Convert(); } } } }
C++
#include "stdafx.h" #include "SolidFramework.h" #include using namespace std; void DoProgress(SolidFramework::ProgressEventArgsPtr args) { // Not implemented } void DoWarning(SolidFramework::WarningEventArgsPtr args) { // Not implemented } class PdfToImageConverter : public SolidFramework::Converters::PdfToImageConverterBase { public: void FireProgress(SolidFramework::ProgressEventArgsPtr args) override { DoProgress(args); }; void FireWarning(SolidFramework::WarningEventArgsPtr args) override { DoWarning(args); }; }; int _tmain(int argc, _TCHAR* argv[]) { // Enter your License code goes here SolidFramework::License::Import(L"C:\\MyFolder\\license.xml"); // Create a PDF to Image Converter called converter PdfToImageConverter *pageImage = new PdfToImageConverter(); SolidFramework::Converters::CustomData *pData = NULL; pData = new SolidFramework::Converters::CustomData(); pData->Converter = pageImage; pData->Data = nullptr; pageImage->setCustomData(pData); // Add the PDF file to convert. pageImage->AddSourceFile(L"C:\\YourFolder\\yourpdf.pdf"); pageImage->setOutputDirectory(L"C:\\MyFolder"); // Set the ImageConvertionType to extact pages pageImage->setConversionType(SolidFramework::Converters::Plumbing::ImageConversionType::ExtractPages); // Set the DPI to determine the dimensions of the images pageImage->setPageDPI(300); // Choose from the supported image file types pageImage->setOutputType(SolidFramework::Converters::Plumbing::ImageDocumentType::Tiff); // Set this if you only want to extract certain pages pageImage->setPageRange(SolidFramework::PageRange::Parse(L"1-5")); //Start the Conversion cout << "Starting conversion." << endl; pageImage->Convert(); SolidFramework::Converters::Plumbing::ConversionStatus status = pageImage->getResults()->getItem(0)->getStatus(); if (status != SolidFramework::Converters::Plumbing::ConversionStatus::Success) { cout << "Conversion failed." << endl; } else { cout << "Conversion succeeded." << endl; } pageImage->Dispose(); cout << "Press to exit." << endl; cin.get(); return 0; }
VB.Net
Module ExtractImages Sub Main() ' Call your Solid Documents License SolidFramework.License.Import("C:\MyFolder\license.xml") 'Define a variable for your source file Dim sPdfPath As String ' Define your Solid Framework Converter Dim myConverter As SolidFramework.Converters.PdfToImageConverter ' Set your file path sPdfPath = "C:\YourFolder\filepdf.pdf" ' Set the converter myConverter = New SolidFramework.Converters.PdfToImageConverter 'Set the preferred conversion properties ' Add files to convert. myConverter.AddSourceFile(sPdfPath) ' Detect Headers and Footers myConverter.OutputDirectory = "C:\MyPDFImages\" ' Convert the file myConverter.Convert() ' Clean up myConverter.Dispose() End Sub End Module