Преобразование PDF-документов через C++

Экспорт PDF в Microsoft Office® Word, Excel, PowerPoint, презентации, изображения, HTML и форматы с фиксированной разметкой

Обзор

В редких случаях возникает необходимость манипулировать документами, отличными от PDF, при наличии данных синтаксического анализа в форматах PDF. Таким образом, для таких приложений будет два сценария: либо они добавляют функциональность синтаксического анализа PDF в свое собственное решение, либо добавляют функцию преобразования PDF для манипулирования данными в поддерживаемых форматах. Для второго сценария преобразования PDF в Word**, Excel, HTML, изображения или любой требуемый формат реализовать код программы чтения и конвертераC# PDF-файла в базе.NET очень просто. Здесь мы обсуждаем несколько случаев, чтобы программисты могли изменять эти фрагменты кода преобразования в соответствии со своими требованиями.

Преобразование PDF-файлов в формат Microsoft Word 2003-2019

Пример: код C# для преобразования PDF в Word

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

// Загрузите исходный PDF-файл
auto document = MakeObject<Document>(_dataDir + infilename);

// Сохранить с помощью опций сохранения
// Создать объект DocSaveOptions
auto saveOptions = MakeObject<DocSaveOptions>();

// Установите режим распознавания как Flow означает режим полного распознавания
saveOptions->set_Mode(DocSaveOptions::RecognitionMode::Flow);
// Два других режима: RecognitionMode.TextBox и RecognitionMode.EnhancedFlow

// Установите горизонтальную близость как 2,5
saveOptions->set_RelativeHorizontalProximity(2.5f);

// Включить значение для распознавания маркеров в процессе преобразования
saveOptions->set_RecognizeBullets(true);

// Сохраните полученный DOC-файл
document->Save(_dataDir + outfilename, saveOptions);

Библиотека Aspose.PDF для .NET поддерживает все преобразования PDF в Word. Если мы просто конвертируем документы Microsoft Word без каких-либо специальных настроек, мы просто загружаем PDF-файл методом Save из класса Document и будем использовать путь к выходному документу Word и SaveFormat в качестве параметров. Для особых случаев, когда необходимо увеличить расстояние между линиями, разрешение изображения и другие настройки, в API есть класс DocSaveOptions, который предоставляет все эти настройки.

Сохранение PDF в виде файлов Excel

Сохранение PDF в виде файлов Excel

String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.pdf");
String outfilename("PDFToExcel.xlsx");
// Загрузить PDF-документ
auto document = MakeObject<Document>(_dataDir + infilename);
// Инициализация параметров сохранения Excel
auto excelSave = MakeObject<ExcelSaveOptions>();
// Установить выходной формат Excel XLSX
excelSave->set_Format(ExcelSaveOptions::ExcelFormat::XLSX);
// Минимизировать количество рабочих листов
excelSave->set_MinimizeTheNumberOfWorksheets(true);
// Преобразовать PDF в выходной файл Excel
document->Save(outfilename, excelSave);

Специализированное SaveFormat.excel Доступно перечисление для сохранения PDF в определенные выходные форматы Microsoft Excel XLS XLSX. Кроме того, .NET PDF-библиотека также имеет специальный класс ExcelSaveOptions, который не только занимается сохранением в форматах Excel, но также предоставляет различные функции и свойства для установки различных атрибутов, таких как точный выходной формат, минимизация количество рабочих листов и многое другое.

Преобразование PDF в презентации PowerPoint

Пример: преобразование кода C# из PDF в PowerPoint

// String for path name
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample-pptx.pdf");
String outfilename("sample-pptx.pptx");
// Загрузить PDF-документ
Document pdfDocument = new Document("document.pdf");
auto pptxOptions = MakeObject<PptxSaveOptions>();
pptxOptions->set_SlidesAsImages(true);
// Сохранить выходной файл
document->Save(_dataDir + outfilename, pptxOptions);

.NET PDF API поддерживает преобразование страниц PDF в слайды презентации PowerPoint с выбираемым текстом или изображениями путем рендеринга слайдов как изображений. Шаблон сохранения Portable Document Format в PowerPoint почти такой же: загрузка файла с использованием класса Document, а затем вызов метода Save с путем к выходному файлу и SaveFormat в качестве параметров. В случае рендеринга со специальными параметрами представления программисты могут использовать класс PptxSaveOptions с любыми соответствующими конкретными параметрами рендеринга. Вызов метода сохранения и передача параметров в качестве параметра.

Конвертация формата переносимого документа PDF в HTML

Пример: код C# для преобразования PDF в HTML

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

// Загрузить исходный PDF-документ
auto document = MakeObject<Document>(_dataDir + infilename);

// Создать экземпляр объекта параметров сохранения HTML
auto htmlOptions = MakeObject<HtmlSaveOptions>();

// Указание отдельной папки для PDF в HTML с изображениями
htmlOptions->SpecialFolderForAllImages = (_dataDir + String("\\images\\"));

// Указание параметра разделения результирующего HTML на несколько страниц
htmlOptions->set_SplitIntoPages(true);

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

Библиотека разбора PDF поддерживает сохранение PDF в HTML как целиком, так и со встроенными ресурсами, включая изображения. Процедура преобразования аналогична процедуре преобразования PDF в другие форматы для общих случаев, таких как загрузка исходного документа и вызов метода Save с выходным путем к файлу HTML и SaveFormat.Html в качестве параметров. В случае сохранения со встроенными ресурсами существует класс HTMLSaveOptions с несколькими опциями, такими как сохранение изображений в определенную папку во время преобразования, разделение полученного HTML на несколько страниц и многое другое.

Преобразование PDF в изображения

Пример: код C# для преобразования PDF в изображения

// Загрузить документ
auto document = MakeObject<Document>(_dataDir + u"ConvertAllPagesToBmp.pdf");

// Создать объект «Разрешение»
 auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300); //300 dpi

// Создать устройство Image с заданными атрибутами
// Ширина, высота, разрешение
System::SmartPtr<Aspose::Pdf::Devices::ImageDevice>
    jpegDevice = MakeObject<Aspose::Pdf::Devices::JpegDevice>(resolution);
// Для BMP, PNG, TIFF это будет устройство BMP, устройство PNG, устройство TIFF соответственно

// Преобразование определенной страницы и сохранение изображения в потоковом режиме
jpegDevice->Process(document->get_Pages()->idx_get(1), imageStream);

// Закрыть стрим
imageStream->Close();

Преобразование страниц PDF в изображения, включая PNG, JPEG, TIFF, BMP и т. д., легко в приложениях на базе файла.NET с помощью приведенных ниже фрагментов кода. Разработчики могут просматривать страницы PDF после загрузки файла и преобразовывать страницу за страницей в требуемый формат изображения. Разработчики могут устанавливать горизонтальное и вертикальное разрешение изображений с помощью Класс разрешения