В редких случаях возникает необходимость манипулировать документами, отличными от PDF, при этом данные синтаксического анализа доступны в форматах PDF. Таким образом, для таких приложений возможны два сценария: либо они добавят в свое решение функцию анализа PDF-файлов, либо добавят функцию преобразования PDF для обработки данных в поддерживаемых форматах. Во втором сценарии, позволяющем конвертировать PDF в Word, Excel, HTML, изображения или любой другой необходимый формат, достаточно просто внедрить PHP-ридер и конвертер для кода PDF** в коде на основе Java. Здесь мы рассмотрим несколько примеров, чтобы программисты могли модифицировать эти фрагменты кода преобразования в соответствии со своими требованиями.
Преобразование PDF в Microsoft Word
// Include the required libraries
require_once ("java/Java.inc");
require_once ("lib/aspose.pdf.php");
// Import the necessary classes from the Aspose.PDF for Java library
use com\aspose\pdf\License;
use com\aspose\pdf\Document;
use com\aspose\pdf\DocSaveOptions;
use com\aspose\pdf\DocSaveOptions_DocFormat;
use com\aspose\pdf\DocSaveOptions_RecognitionMode;
// Set the license file for Aspose.PDF for Java
$license = "Aspose.PDF.PHPviaJava.lic";
$licenceObject = new License();
$licenceObject->setLicense($license);
// Set the input and output file paths
$dataDir = getcwd() . DIRECTORY_SEPARATOR . "samples";
$inputFile = $dataDir . DIRECTORY_SEPARATOR . "sample.pdf";
$outputFile = $dataDir . DIRECTORY_SEPARATOR . 'result-pdf-to-docx.docx';
// Load the PDF document
$document = new Document($inputFile);
// Create the save options for converting to DOCX format
$saveOption = new DocSaveOptions();
$saveOption->setMode(DocSaveOptions_RecognitionMode::$EnhancedFlow);
$saveOption->setFormat(DocSaveOptions_DocFormat::$DocX);
// Save the document in DOCX format
$document->save($outputFile, $saveOption);
Библиотека Aspose.PDF для PHP поддерживает все преобразования PDF в Word. Если мы просто конвертируем документы Microsoft Word без каких-либо специальных настроек, мы просто загружаем PDF-файл методом Save из класса Document и будем использовать в качестве параметров путь к выходному документу Word и SaveFormat. Для особых случаев, когда необходимо увеличить расстояние между строками, разрешение изображения и другие параметры, в API есть класс DocSaveOptions, который предоставляет все такие настройки.
Сохранить PDF в виде файлов Excel
// Include the required libraries
require_once ("java/Java.inc");
require_once ("lib/aspose.pdf.php");
// Import the necessary classes from the Aspose.PDF for Java library
use com\aspose\pdf\Document;
use com\aspose\pdf\ExcelSaveOptions;
use com\aspose\pdf\ExcelSaveOptions_ExcelFormat;
use com\aspose\pdf\License;
// Set the path to the Aspose.PDF license file
$license = "Aspose.PDF.PHPviaJava.lic";
// Create a new License object and set the license file
$licenceObject = new License();
$licenceObject->setLicense($license);
// Set the path to the input PDF file
$dataDir = getcwd() . DIRECTORY_SEPARATOR . "samples";
$inputFile = $dataDir . DIRECTORY_SEPARATOR . "sample.pdf";
// Set the path to the output Excel file
$outputFile = $dataDir . DIRECTORY_SEPARATOR . 'sample.xlsx';
// Create a new Document object and load the input PDF file
$document = new Document($inputFile);
// Create a new ExcelSaveOptions object
$saveOption = new ExcelSaveOptions();
// Set the output format to XLSX
$saveOption->setFormat(ExcelSaveOptions_ExcelFormat::$XLSX);
// Save the document as an Excel file using the specified save options
$document->save($outputFile, $saveOption);
Доступно специализированное перечисление SaveFormat.excel для сохранения PDF в определенных выходных форматах Microsoft Excel XLS XLSX. Кроме того, в библиотекеPHP/Java PDF Library также есть специальный класс ExcelSaveOptions, который не только обеспечивает сохранение в форматах Excel, но и предоставляет различные функции и свойства для настройки различных атрибутов, таких как точный формат вывода, минимизация количества рабочих листов и многое другое.
Конвертируйте PDF в презентации PowerPoint
// Include the required Java and Aspose.PDF for PHP libraries
require_once ("java/Java.inc");
require_once ("lib/aspose.pdf.php");
// Import the necessary classes from the Aspose.PDF for PHP library
use com\aspose\pdf\Document;
use com\aspose\pdf\PptxSaveOptions;
use com\aspose\pdf\License;
// Set the path to the Aspose.PDF license file
$license = "Aspose.PDF.PHPviaJava.lic";
// Create a new License object and set the license file
$licenceObject = new License();
$licenceObject->setLicense($license);
// Set the path to the input PDF file
$dataDir = getcwd() . DIRECTORY_SEPARATOR . "samples";
$inputFile = $dataDir . DIRECTORY_SEPARATOR . "sample.pdf";
// Set the path to the output PPTX file
$outputFile = $dataDir . DIRECTORY_SEPARATOR . "results" . DIRECTORY_SEPARATOR . 'sample.pptx';
// Load the input PDF document
$document = new Document($inputFile);
// Create an instance of PptxSaveOptions
$saveOption = new PptxSaveOptions();
// Save the PDF document as a PPTX file
$document->save($outputFile, $saveOption);
PHP API поддерживает преобразование страниц PDF в слайды презентаций PowerPoint с выбираемым текстом или изображениями путем визуализации слайдов в виде изображений. Схема сохранения формата переносимых документов в PowerPoint почти такая же: файл загружается с использованием класса Document, а затем вызывается метод Save с указанием пути к выходному файлу и SaveFormat в качестве параметров. В случае рендеринга с использованием специальных параметров презентации программисты могут использовать класс pptxSaveOptions с любыми соответствующими специальными параметрами визуализации. Вызов метода save и передача опций в качестве параметра.
Конвертирование PDF в HTML
// Include the required libraries
require_once ("java/Java.inc");
require_once ("lib/aspose.pdf.php");
// Import the necessary classes from the Aspose.PDF library
use com\aspose\pdf\Document;
use com\aspose\pdf\HtmlSaveOptions;
use com\aspose\pdf\License;
// Set the path to the license file
$licensePath = "Aspose.PDF.PHPviaJava.lic";
// Create a new License object and set the license using the provided file path
$license = new License();
$license->setLicense($licensePath);
// Set the path to the input PDF file
$dataDir = getcwd() . DIRECTORY_SEPARATOR . "samples";
$inputFile = $dataDir . DIRECTORY_SEPARATOR . "sample.pdf";
// Set the path to the output HTML file
$outputFile = $dataDir . DIRECTORY_SEPARATOR . 'pdf-to-html.html';
// Create a new Document object and load the input PDF file
$document = new Document($inputFile);
// Create a new HtmlSaveOptions object for saving the document as HTML
$saveOption = new HtmlSaveOptions();
// Save the document as HTML using the specified save options
$document->save($outputFile, $saveOption);
Библиотека парсинга PDF поддерживает сохранение PDF в формате HTML целиком, а также со встроенными ресурсами, включая изображения. Процедура преобразования аналогична процедуре преобразования PDF в другие форматы в обычных случаях, таких как загрузка исходного документа и вызов метода Save с указанием пути к выходному HTML-файлу и SaveFormat.Html в качестве параметров. В случае сохранения с помощью встроенных ресурсов существует класс HTMLSaveOptions с несколькими опциями, такими как сохранение изображений в определенной папке во время конвертации, разделение полученного HTML-кода на несколько страниц и многое другое.
Конвертируйте PDF в изображения
// Include the required libraries
require_once ("java/Java.inc");
require_once ("lib/aspose.pdf.php");
// Import the necessary classes from the Aspose.PDF for PHP via Java library
use com\aspose\pdf\Document;
use com\aspose\pdf\devices_Resolution;
use com\aspose\pdf\devices_JpegDevice;
use com\aspose\pdf\License;
// Create a License object and set the license file
$licenceObject = new License();
$licenceObject->setLicense("Aspose.PDF.PHPviaJava.lic");
// Set the path to the input PDF file
$dataDir = getcwd() . DIRECTORY_SEPARATOR . "samples";
$inputFile = $dataDir . DIRECTORY_SEPARATOR . "sample.pdf";
// Set the path and template for the output JPEG files
$imageFileNameTemplate = $dataDir . DIRECTORY_SEPARATOR . 'pdf-to-jpeg-';
// Open the target document
$document = new Document($inputFile);
$pages = $document->getPages();
$count = $pages->size();
// Create a Resolution object with a resolution of 300 dpi
$resolution = new devices_Resolution(300);
// Create a JpegDevice object with the specified resolution
$imageDevice = new devices_JpegDevice($resolution);
// Loop through each page of the document
for ($pageCount = 1; $pageCount <= $document->getPages()->size(); $pageCount++) {
// Convert a particular page and save the image to a file
$imageFileName = $imageFileNameTemplate . $pageCount . '.jpg';
$page = $document->getPages()->get_Item($pageCount);
$imageDevice->process($page, $imageFileName);
}
Конвертировать страницы PDF в изображения, включая PNG, JPEG, TIFF, BMP и т. д., легко в приложениях на базе Java с использованием приведенных ниже фрагментов кода. Разработчики могут просматривать страницы PDF после загрузки файла и преобразовывать страницу за страницей в необходимый формат изображения. Разработчики могут устанавливать горизонтальное и вертикальное разрешение изображений, используя Класс разрешения