Convertir Excel a PDF usando PHP

Usamos mucho hojas de cálculo de Excel para mantener facturas, libros mayores, inventario, cuentas, datos computacionales y otros informes. Mientras que PDF es el formato más popular para compartir e imprimir documentos sin perder el formato. En ciertos casos, es posible que necesitemos convertir Excel a PDF para compartir datos de Excel en una forma portátil. Podemos convertir fácilmente hojas de cálculo de Excel en documentos PDF mediante programación en la nube. En este artículo, aprenderemos cómo convertir Excel a PDF usando PHP.

En este artículo se tratarán los siguientes temas:

API REST de conversión de Excel a PDF y SDK de PHP

Para convertir XLSX a PDF, utilizaremos la API PHP SDK de GroupDocs.Conversion Cloud. Nos permite convertir sin problemas documentos e imágenes de cualquier formato de archivo compatible a cualquier formato que necesitemos. Instálalo usando el siguiente comando en la consola:

composer require groupdocscloud/groupdocs-conversion-cloud

Después de la instalación, use la carga automática de los compositores para usar el SDK como se muestra a continuación:

Por favor, obtenga su ID de cliente y secreto del tablero antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

// Este ejemplo de código demuestra cómo agregar su ID de cliente y secreto en el código.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// Inicializando la configuración
$configuration = new GroupDocs\Conversion\Configuration();

// Establecer las configuraciones
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Convierta Excel a PDF usando una API REST en PHP

Podemos convertir fácilmente archivos de Excel a documentos PDF mediante programación en la nube siguiendo los pasos que se detallan a continuación:

  1. Subir el archivo XLSX a la nube
  2. Convertir Excel a PDF
  3. Descargar el archivo PDF convertido

Cargue el archivo de Excel

En primer lugar, cargaremos el archivo XLSX en la nube utilizando el siguiente código de ejemplo:

// Este ejemplo de código demuestra cómo cargar un archivo XLSX en la nube.
// Inicializar una instancia de la API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// Ruta del archivo de entrada
$file = "C:\\Files\\Conversion\\sample.xlsx";

// Crear solicitud de archivo de carga
$request = new GroupDocs\Conversion\Model\Requests\UploadFileRequest("sample.xlsx", $file, self::$MyStorage, null);

// Subir archivo
$response = $apiInstance->uploadFile($request);

Como resultado, el archivo cargado estará disponible en la sección de archivos del tablero en la nube.

Convertir Excel a PDF en PHP

Ahora, convertiremos el archivo XLSX cargado al documento PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de ConvertApi.
  2. A continuación, inicialice la instancia de ConvertSettings y configure la ruta del archivo XLSX cargado.
  3. Luego, asigne “pdf” al formato y proporcione la ruta del archivo de salida.
  4. A continuación, configure varias opciones de carga de hoja de cálculo, como setOnePagePerSheet, etc.
  5. Opcionalmente, configure varias PdfConvertOptions como setCenterWindow, setMarginTop, setMarginLeft, etc.
  6. Después de eso, cree ConvertDocumentRequest con ConvertSettings como argumento.
  7. Finalmente, convierte llamando al método ConvertApi.convertDocument().

El siguiente ejemplo de código muestra cómo convertir una hoja de cálculo de Excel en un documento PDF mediante una API REST en PHP.

// Este ejemplo de código demuestra cómo convertir Excel a PDF.
// Inicializar una instancia de la API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir la configuración de conversión
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);    // Storage
$settings->setFilePath("sample.xlsx");          // Input file
$settings->setFormat("pdf");                    // Output format
$settings->setOutputPath("convertedExcel.pdf"); // Output file

// Opciones de carga de hojas de cálculo
$loadOptions = new GroupDocs\Conversion\Model\SpreadsheetLoadOptions();		
$loadOptions->setHideComments(true);    // Show hide comments
$loadOptions->setShowGridLines(false);  // Do not Show gridlines
$loadOptions->setOnePagePerSheet(true);	// One sheet per page

// Asignar opciones de carga
$settings->setLoadOptions($loadOptions);

$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setCenterWindow(true); // Center window
$convertOptions->setMarginTop(5);       // Top margin
$convertOptions->setMarginLeft(5);      // Left margin
$convertOptions->setRemovePdfaCompliance(false);  // RemovecCompliance

// Asignar opciones de conversión
$settings->setConvertOptions($convertOptions);

// Crear solicitud de documento de conversión
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Convertir documento
$response = $convertApi->convertDocument($request);
// Hecho
echo "Document converted successfully: ", $response[0]->getUrl();
Convierta Excel a PDF usando una API REST en PHP

Convierta Excel a PDF usando una API REST en PHP.

Descargar el archivo convertido

El ejemplo de código anterior guardará el archivo PDF convertido en la nube. Se puede descargar usando el siguiente ejemplo de código:

// Este ejemplo de código demuestra cómo descargar un archivo PDF desde la nube.
// Inicializar una instancia de la API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);

// Crear solicitud de archivo de descarga
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedExcel.pdf", self::$MyStorage, null);

// Descargar archivo
$response = $apiInstance->downloadFile($request);

Convierta hojas de cálculo de Excel específicas a PDF en PHP

También podemos convertir hojas de cálculo de Excel específicas en un documento PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de ConvertApi.
  2. A continuación, inicialice la instancia de ConvertSettings.
  3. Luego, configure la ruta del archivo XLSX cargado.
  4. También asigne “pdf” al formato y proporcione la ruta del archivo de salida.
  5. A continuación, inicialice el objeto PdfConvertOptions
  6. Luego, proporcione índices de hoja específicos en una matriz separada por comas para convertir.
  7. Después de eso, cree ConvertDocumentRequest con ConvertSettings como argumento.
  8. Finalmente, convierte llamando al método ConvertApi.convertDocument().

El siguiente ejemplo de código muestra cómo convertir una hoja de cálculo de Excel específica en un documento PDF utilizando una API REST en PHP. Siga los pasos mencionados anteriormente para cargar y descargar los archivos.

// Este ejemplo de código demuestra cómo convertir hojas de Excel específicas a PDF.
// Inicializar una instancia de la API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir la configuración de conversión
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedSpecificSheet.pdf");

// Definir opciones de conversión de PDF
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setPages([2, 4]);  // Define pages (sheets) to convert

// Asignar opciones de conversión
$settings->setConvertOptions($convertOptions);

// Crear solicitud de documento de conversión
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Convertir documento
$response = $convertApi->convertDocument($request);
// Hecho
echo "Document converted successfully: ", $response[0]->getUrl();
Convierta hojas de cálculo de Excel específicas a PDF en PHP

Convierta hojas de cálculo específicas de Excel a PDF en PHP.

También podemos convertir una variedad de hojas de cálculo de Excel a un archivo PDF siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos mencionar la gama de hojas como se muestra a continuación:

$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setFromPage(2);
$convertOptions->setPagesCount(4);

Conversión de Excel a PDF con marca de agua

Podemos convertir hojas de cálculo de Excel en un documento PDF y agregar una marca de agua al documento convertido siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cree una instancia de ConvertApi.
  2. A continuación, inicialice la instancia de ConvertSettings.
  3. Luego, configure la ruta del archivo XLSX cargado.
  4. También asigne “pdf” al formato y proporcione la ruta del archivo de salida.
  5. A continuación, inicialice el objeto WatermarkOptions y configure el texto, el color, el ancho, la altura, etc. de la marca de agua.
  6. Luego, defina PdfConvertOptions y asigne WatermarkOptions.
  7. Después de eso, cree ConvertDocumentRequest con ConvertSettings como argumento.
  8. Finalmente, convierte llamando al método ConvertApi.convertDocument().

El siguiente ejemplo de código muestra cómo convertir una hoja de cálculo de Excel en un documento PDF y agregar una marca de agua al documento PDF convertido mediante una API REST en PHP. Siga los pasos mencionados anteriormente para cargar y descargar los archivos.

// Este ejemplo de código demuestra cómo convertir Excel a PDF con marca de agua.
// Inicializar una instancia de la API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);

// Definir la configuración de conversión
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedWithWatermark.pdf");

// Definir marca de agua
$watermark = new GroupDocs\Conversion\Model\WatermarkOptions();
$watermark->setText("CONFIDENTIAL");
$watermark->setBold(true);
$watermark->setFontSize(44);
$watermark->setColor("Gray");
$watermark->setBackground(false);
$watermark->setRotationAngle(30);
$watermark->setLeft(100);
$watermark->setTop(250);

// Definir opciones de conversión de PDF
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
// Establecer marca de agua
$convertOptions->setWatermarkOptions($watermark);

// Asignar opciones de conversión
$settings->setConvertOptions($convertOptions);

// Crear solicitud de documento de conversión
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);

// Convertir documento
$response = $convertApi->convertDocument($request);
// Hecho
echo "Document converted successfully: ", $response[0]->getUrl();
Conversión de Excel a PDF con marca de agua

Conversión de Excel a PDF con marca de agua.

Convierta Excel a PDF sin usar Cloud Storage

Podemos convertir Excel a PDF sin usar el almacenamiento en la nube siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de ConvertApi.
  • A continuación, cree ConvertDocumentDirectRequest con el formato de destino y la ruta del archivo de entrada como argumentos.
  • Finalmente, convierte llamando al método convertDocumentDirect().

El siguiente ejemplo de código muestra cómo convertir una hoja de cálculo de Excel en un documento PDF sin utilizar el almacenamiento en la nube. Pasamos el archivo de entrada en el cuerpo de la solicitud y recibimos el archivo de salida en la respuesta de la API.

// Este ejemplo de código demuestra cómo convertir Excel a PDF sin usar el almacenamiento en la nube.
// Inicializar una instancia de la API
$apiInstance = new GroupDocs\Conversion\ConvertirApi($configuration);

// Ruta del archivo de entrada
$filePath = "C:\\Files\\Conversion\\sample.xlsx";

// Preparar solicitud directa de documento de conversión
$request = new GroupDocs\Conversion\Model\Requests\ConvertirDocumentDirectRequest("pdf", $filePath);

// Convertir
$result = $apiInstance->convertDocumentDirect($request);

// Hecho
echo "Document converted: " . $result->getSize();

Prueba en línea

Pruebe la siguiente herramienta gratuita de conversión de XLSX a PDF en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/conversion/xlsx-to-pdf

Conclusión

En este artículo, hemos aprendido a:

  • convertir Excel a PDF usando PHP;
  • convertir hojas de cálculo de Excel específicas a PDF en PHP;
  • agregue una marca de agua al documento PDF convertido;
  • convertir sin usar almacenamiento en la nube;
  • sube el archivo XLSX a la nube;
  • descargar archivo PDF desde la nube.

Además, puede obtener más información sobre GroupDocs.Conversion Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también