Conversor de formato PDF mediante PHP via Java

Exporte PDF a Word, Excel, PowerPoint, imágenes, HTML y formatos de diseño fijo con PHP via Java

Descripción general

Hay pocos casos en los que sea necesario manipular documentos que no sean PDF mientras los datos de análisis están disponibles en formatos PDF. Por lo tanto, para estas aplicaciones, habrá dos escenarios: o bien añadirán la funcionalidad de análisis de PDF a su solución o añadirán la funcionalidad de conversión de PDF para manipular los datos en formatos compatibles. En el segundo caso, para convertir PDF a Word, Excel, HTML, imágenes o cualquier formato requerido, implementar el lectorPHP y conversor para código PDF en código basado en Java es sencillo. Aquí analizamos algunos casos en los que los programadores pueden modificar estos fragmentos de código de conversión según sus necesidades.

Conversión de PDF a Microsoft Word

Ejemplo de PHP: código para la conversión de PDF a 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);

La biblioteca Aspose.PDF for PHP admite todas las conversiones de PDF a Word. En caso de que solo estemos convirtiendo documentos de Microsoft Word sin ninguna configuración especial, simplemente cargamos el archivo PDF usando el método Save de la clase Document y lo usaremos como parámetros la ruta del documento Word de salida y SaveFormat. Para los casos especiales en los que es necesario mejorar la distancia de las líneas, la resolución de la imagen y más configuraciones, la API tiene la clase DocSaveOptions que expone todas esas configuraciones.

Guardar PDF como archivos de Excel

Ejemplo de PHP: código para la conversión de PDF a 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);

Enumeración especializada SaveFormat.excel disponible para guardar PDF en formatos de salida XLS XLSX específicos de Microsoft Excel. Además, la biblioteca PDF de PHP/Java también tiene una clase ExcelSaveOptions específica que no solo se ocupa de guardar en formatos de Excel, sino que también proporciona diferentes funciones y propiedades para configurar diferentes atributos, como el formato de salida exacto, minimizar el número de hojas de trabajo, etc.

Convierte PDF a presentaciones de PowerPoint

Ejemplo de PHP: conversión de código PDF a 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);

La API de PHP admite la conversión de páginas PDF en diapositivas de presentación de PowerPoint con texto o imágenes seleccionables al representar las diapositivas como imágenes. El patrón para guardar el formato de documento portátil en PowerPoint es casi el mismo: se carga el archivo usando la clase Document y luego se llama al método Save con la ruta del archivo de salida y SaveFormat como parámetros. En caso de renderizar con opciones de presentación especiales, los programadores pueden usar la clase PPTXSaveOptions con cualquier opción de renderizado específica relevante. Llamar al método de guardado y pasar las opciones como parámetro.

Conversión de PDF a HTML

Ejemplo de PHP: código para la conversión de PDF a 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);

La biblioteca de análisis de PDF permite guardar PDF en HTML en su totalidad, así como con recursos incrustados, incluidas imágenes. El procedimiento de conversión es el mismo que el de PDF a otros formatos para casos genéricos, como cargar el documento fuente y llamar al método Save con la ruta del archivo HTML de salida y SaveFormat.Html como parámetros. Si se guarda con recursos incrustados, existe una clase HTMLSaveOptions que tiene varias opciones, como guardar las imágenes en una carpeta específica durante la conversión, dividir el código HTML resultante en varias páginas, etc.

Convertir PDF a imágenes

Ejemplo de PHP: código para la conversión de PDF a imágenes

// 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);
}

La conversión de páginas PDF en imágenes como PNG, JPEG, TIFF, BMP, etc. es fácil en las aplicaciones basadas en Java utilizando los fragmentos de código que se enumeran a continuación. Los desarrolladores pueden recorrer las páginas PDF después de cargar el archivo y convertir página por página al formato de imagen requerido. Los desarrolladores pueden establecer la resolución horizontal y vertical de las imágenes mediante la clase de resolución