Konwersja dokumentów PDF za pośrednictwem C++

Eksportowanie plików PDF do formatu Microsoft Office® Word, Excel, PowerPoint, prezentacji, obrazów, HTML i formatów o stałym układzie

Przegląd

Istnieje kilka przypadków, gdy istnieje potrzeba manipulowania dokumentami innymi niż PDF, mając dane parsowania dostępne w formatach PDF. Tak więc w przypadku takich aplikacji będą dwa scenariusze albo dodają funkcjonalność analizowania plików PDF w ramach własnego rozwiązania, albo dodają funkcję konwersji PDF w celu manipulowania danymi według obsługiwanych formatów. W drugim scenariuszu, aby przekonwertować plik PDF na Word**, Excel, HTML, obrazy lub dowolny wymagany format, implementacja czytnika i konwerteraC# PDF i konwerter kodu w oparciu o .NET jest proste. Omawiamy tutaj kilka przypadków, aby programiści mogli modyfikować te fragmenty kodu konwersji zgodnie z ich wymaganiami.

Konwersja plików PDF na Microsoft Word 2003-2019

Przykład: Kod C# do konwersji plików PDF na Word

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

// Załaduj źródłowy plik PDF
auto document = MakeObject<Document>(_dataDir + infilename);

// Zapisz za pomocą opcji zapisywania
// Tworzenie obiektu DocSaveOptions
auto saveOptions = MakeObject<DocSaveOptions>();

// Ustaw tryb rozpoznawania jako Flow oznacza tryb pełnego rozpoznawania
saveOptions->set_Mode(DocSaveOptions::RecognitionMode::Flow);
// Pozostałe dwa tryby to RecognitionMode.TextBox i RecognitionMode.EnhancedFlow

// Ustaw bliskość poziomą jako 2.5
saveOptions->set_RelativeHorizontalProximity(2.5f);

// Włącz wartość rozpoznawania punktorów podczas procesu konwersji
saveOptions->set_RecognizeBullets(true);

// Zapisz wynikowy plik DOC
document->Save(_dataDir + outfilename, saveOptions);

Aspose.PDF dla biblioteki .NET obsługuje wszystkie konwersje plików PDF na Word. W przypadku, gdy tylko konwertujemy dokumenty Microsoft Word bez żadnych specjalnych ustawień, po prostu ładujemy plik PDF za pomocą metody Zapisz z klasy Document i użyjemy z wyjściową ścieżką dokumentu Word i SaveFormat jako parametry. W szczególnych przypadkach, w których istnieje potrzeba zwiększenia odległości linii, rozdzielczości obrazu i innych ustawień, API ma klasę DocSaveOptions, która ujawnia wszystkie takie ustawienia.

Zapisz PDF jako pliki Excel

Zapisz PDF jako pliki Excel

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToExcel.xlsx");
// Załaduj dokument PDF
auto document = MakeObject<Document>(_dataDir + infilename);
// Zainicjuj ExcelSaveOptions
auto excelSave = MakeObject<ExcelSaveOptions>();
// Ustaw wyjściowy format Excel XLSX
excelSave->set_Format(ExcelSaveOptions::ExcelFormat::XLSX);
// Zminimalizuj liczbę arkuszy
excelSave->set_MinimizeTheNumberOfWorksheets(true);
// Konwertuj plik wyjściowy PDF na Excel
document->Save(outfilename, excelSave);

Specialized SaveFormatat.excel Wyliczenie dostępne do zapisywania plików PDF w określonych formatach wyjściowych Microsoft Excel XLS XLSX. Co więcej, .NET PDF Library ma również speicific klasa ExcelSaveOptions, która nie tylko zajmuje się zapisywaniem w formatach Excel, ale także zapewnia różne funkcje i właściwości do ustawiania różnych atrybutów, takich jak dokładny format wyjściowy, minimalizuj liczba arkuszy roboczych i więcej.

Konwertuj PDF na prezentacje PowerPoint

Przykład: Konwersja C# Code PDF do programu PowerPoint

// String for path name
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample-pptx.pdf");
String outfilename("sample-pptx.pptx");
// Załaduj dokument PDF
Document pdfDocument = new Document("document.pdf");
auto pptxOptions = MakeObject<PptxSaveOptions>();
pptxOptions->set_SlidesAsImages(true);
// Zapisz plik wyjściowy
document->Save(_dataDir + outfilename, pptxOptions);

Interfejs API .NET PDF obsługuje konwertowanie stron PDF na slajdy prezentacji PowerPoint z możliwością wyboru tekstu lub obrazów przez renderowanie slajdów jako obrazów. Wzór zapisywania Portable Document Format do programu PowerPoint jest prawie taka sama, Ładowanie pliku za pomocą klasy Document, a następnie wywołanie metody Zapisz ze ścieżką pliku wyjściowego i SaveFormat jako parametrów. W przypadku renderowania ze specjalnymi opcjami prezentacji programiści mogą używać pptXSaveOptions class z dowolnymi odpowiednimi opcjami renderowania. Wywołanie metody zapisu i przekazanie opcji jako parametru.

Przenośny format dokumentu PDF do konwersji HTML

Przykład: Kod C# do konwersji plików PDF na HTML

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

// Załaduj źródłowy dokument PDF
auto document = MakeObject<Document>(_dataDir + infilename);

// Instancji HTML Zapisz opcje obiektu
auto htmlOptions = MakeObject<HtmlSaveOptions>();

// Określanie oddzielnego folderu dla PDF do HTML z obrazami
htmlOptions->SpecialFolderForAllImages = (_dataDir + String("\\images\\"));

// Określanie opcji podziału dla wynikowego kodu HTML na wiele stron
htmlOptions->set_SplitIntoPages(true);

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

Biblioteka analizowania plików PDF obsługuje zapisywanie plików PDF do HTML jako całości, a także z osadzonymi zasobami, w tym obrazami. Procedura konwersji jest taka sama jak PDF do innych formatów dla ogólnych przypadków, takich jak ładowanie dokumentu źródłowego i wywołanie metody Zapisz z wyjściową ścieżką pliku HTML i SaveFormat.Html jako parametrami. W przypadku zapisywania z wbudowanymi zasobami istnieje klasa HTMLSaveOptions posiadająca wiele opcji, takich jak zapisywanie obrazów do określonego folderu podczas konwersji, dzielenie wynikowego HTML na wiele stron i więcej.

Konwertuj pliki PDF na obrazy

Przykład: Kod C# do konwersji plików PDF na obrazy

// Załaduj dokument
auto document = MakeObject<Document>(_dataDir + u"ConvertAllPagesToBmp.pdf");

// Utwórz obiekt Resolution
 auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300); //300 dpi

// Utwórz urządzenie obrazu z określonymi atrybutami
// Szerokość, Wysokość, Rozdzielczość
System::SmartPtr<Aspose::Pdf::Devices::ImageDevice>
    jpegDevice = MakeObject<Aspose::Pdf::Devices::JpegDevice>(resolution);
// Dla BMP, PNG, TIFF będzie to odpowiednio BMPDevice, PNGDevice, TiffDevice

// Konwertuj określoną stronę i zapisz obraz do strumienia
jpegDevice->Process(document->get_Pages()->idx_get(1), imageStream);

// Zamknięcie strumi
imageStream->Close();

Konwersja stron PDF na obrazy, w tym PNG, JPEG, TIFF, BMP itp. Jest łatwa w aplikacjach opartych na .NET za pomocą fragmentów kodu wymienionych poniżej. Programiści mogą przeglądać strony PDF po załadowaniu pliku i konwertować stronę po stronie na wymagany format obrazu. Programiści mogą ustawić rozdzielczość poziomą i pionową obrazów za pomocą Klasa rozdzielczości