Conversione di documenti PDF tramite C++

Esportazione di PDF in Microsoft Office® Word, Excel, presentazioni PowerPoint, immagini, HTML e formati a layout fisso

Panoramica

Ci sono pochi casi in cui è necessario manipolare documenti diversi dal PDF pur avendo i dati di analisi disponibili nei formati PDF. Quindi per tali applicazioni ci saranno due scenari: aggiungere funzionalità di analisi PDF all’interno della propria soluzione o aggiungere la funzionalità di conversione PDF per manipolare i dati a partire dai formati supportati. Per il secondo scenario di convertire PDF in Word, Excel, HTML, immagini o qualsiasi formato richiesto, implementare il codice C# PDF reader and converter all’interno di.NET è semplice. Stiamo discutendo qui alcuni casi in modo che i programmatori possano modificare questi frammenti di codice di conversione in base alle loro esigenze.

Converti PDF in Word, DOC, DOCX e altri formati

Esempio: codice C# per la conversione da PDF a Word

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

// Carica il file PDF di origine
auto document = MakeObject<Document>(_dataDir + infilename);

// Salvare utilizzando le opzioni di salvataggio
// Crea oggetto DocSaveOptions
auto saveOptions = MakeObject<DocSaveOptions>();

// Impostare la modalità di riconoscimento come Flusso significa Modalità di riconoscimento completo
saveOptions->set_Mode(DocSaveOptions::RecognitionMode::Flow);
// Altre due modalità sono RecognitionMode.TextBox e RecognitionMode.EnhancedFlow

// Impostare la prossimità orizzontale su 2,5
saveOptions->set_RelativeHorizontalProximity(2.5f);

// Abilitare il valore per riconoscere i punti elenco durante il processo di conversione
saveOptions->set_RecognizeBullets(true);

// Salvare il file DOC risultante
document->Save(_dataDir + outfilename, saveOptions);

La libreria Aspose.PDF per .NET supporta tutte le conversioni da PDF a Word. Nel caso in cui stiamo solo convertendo documenti Microsoft Word senza impostazioni speciali, carichiamo semplicemente il file PDF utilizzando il metodo Save dalla classe Document e utilizzeremo come parametri come parametri il percorso del documento Word in uscita e SaveFormat. Per i casi speciali in cui è necessario migliorare la distanza delle linee, la risoluzione dell’immagine e altre impostazioni, l’API dispone della classe DocSaveOptions che espone tutte queste impostazioni.

Salva PDF come file Excel

Salva PDF come file Excel

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToExcel.xlsx");
// Carica documento PDF
auto document = MakeObject<Document>(_dataDir + infilename);
// Inizializza opzioni di salvataggio di Excel
auto excelSave = MakeObject<ExcelSaveOptions>();
// Imposta il formato Excel XLSX di output
excelSave->set_Format(ExcelSaveOptions::ExcelFormat::XLSX);
// Ridurre il numero di fogli di lavoro
excelSave->set_MinimizeTheNumberOfWorksheets(true);
// Converti PDF in file di output Excel
document->Save(outfilename, excelSave);

Enumerazione specializzata SaveFormat.excel disponibile per il salvataggio di PDF in specifici formati di output XLS XLSX di Microsoft Excel. Inoltre, .NET PDF Library ha anche una specifica classe ExcelSaveOptions che non solo si occupa del salvataggio in formati Excel, ma fornisce anche diverse funzioni e proprietà per l’impostazione di attributi diversi come il formato di output esatto, minimizza numero di fogli di lavoro e altro ancora.

Conversione di presentazioni da PDF a PowerPoint

Esempio: conversione da PDF a PowerPoint di codice C#

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

L’API .NET PDF supporta la conversione di pagine PDF in diapositive di presentazione PowerPoint con testo o immagini selezionabili mediante il rendering delle diapositive come immagini. Lo schema di salvataggio del formato di documento portatile in PowerPoint è quasi lo stesso: si carica il file utilizzando la classe Document e quindi si chiama il metodo Save con il percorso del file di output e SaveFormat come parametri. In caso di rendering con opzioni di presentazione speciali, i programmatori possono utilizzare classe PPTXSaveOptions con qualsiasi opzione di rendering specifica pertinente. Chiamare il metodo save e passare le opzioni come parametro.

Conversione da PDF a HTML in formato documento portatile

Esempio: codice C# per la conversione da PDF a HTML

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

// Carica documento PDF sorgente
auto document = MakeObject<Document>(_dataDir + infilename);

// Crea un'istanza dell'oggetto opzioni di salvataggio HTML
auto htmlOptions = MakeObject<HtmlSaveOptions>();

// Specifica della cartella separata per PDF in HTML con immagini
htmlOptions->SpecialFolderForAllImages = (_dataDir + String("\\images\\"));

// Specifica dell'opzione di divisione per l'HTML risultante in più pagine
htmlOptions->set_SplitIntoPages(true);

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

PDF Parsing Library supporta il salvataggio di PDF in HTML nel suo complesso e con risorse incorporate, comprese le immagini. La procedura di conversione è la stessa del PDF in altri formati per casi generici, come il caricamento del documento di origine e la chiamata al metodo Save con percorso del file HTML di output e SaveFormat.Html come parametri. In caso di salvataggio con risorse incorporate, esiste una classe HTMLSaveOptions con più opzioni come il salvataggio delle immagini in una cartella specifica durante la conversione, la suddivisione dell’HTML risultante in più pagine e altro ancora.

Converti PDF in immagini

Esempio: codice C# per la conversione da PDF a immagini

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

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

// Crea dispositivo immagine con attributi specificati
// Larghezza, altezza, risoluzione
System::SmartPtr<Aspose::Pdf::Devices::ImageDevice>
    jpegDevice = MakeObject<Aspose::Pdf::Devices::JpegDevice>(resolution);
// Per BMP, PNG, TIFF saranno rispettivamente BMPDevice, PNGDevice, TIFFDevice

// Converti una pagina particolare e salva l'immagine in streaming
jpegDevice->Process(document->get_Pages()->idx_get(1), imageStream);

// Chiudi stream
imageStream->Close();

La conversione di pagine PDF in immagini tra cui PNG, JPEG, TIFF, BMP ecc. È facile all’interno delle applicazioni basate su .NET utilizzando i frammenti di codice elencati di seguito. Gli sviluppatori possono scorrere le pagine PDF dopo aver caricato il file e convertire Pagina per pagina nel formato immagine richiesto. Gli sviluppatori possono impostare la risoluzione orizzontale e verticale delle immagini utilizzando Resolution class