Usamos amplamente o Excel planilhas para manter faturas, livros contábeis, estoque, contas, dados computacionais e outros relatórios. Visto que PDF é o formato mais popular para compartilhar e imprimir documentos sem perder a formatação. Em certos casos, podemos precisar converter Excel em PDF para compartilhar dados do Excel em um formato portátil. Podemos facilmente converter planilhas do Excel em documentos PDF programaticamente na nuvem. Neste artigo, aprenderemos como converter Excel para PDF usando PHP.
Os seguintes tópicos serão abordados neste artigo:
- API REST de conversão de Excel para PDF e SDK PHP
- Convert Excel to PDF using a REST API in PHP
- Converter planilhas específicas do Excel para PDF em PHP
- Excel para conversão de PDF com marca d’água
- Converta Excel em PDF sem usar o Cloud Storage
API REST de conversão de Excel para PDF e SDK PHP
Para converter XLSX em PDF, usaremos a API PHP SDK of GroupDocs.Conversion Cloud. Ele nos permite converter facilmente documentos e imagens de qualquer formato de arquivo suportado para qualquer formato que exigimos. Instale-o usando o seguinte comando no console:
composer require groupdocscloud/groupdocs-conversion-cloud
Após a instalação, use o autoload dos compositores para usar o SDK conforme mostrado abaixo:
Por favor, obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:
// Este exemplo de código demonstra como adicionar seu ID de cliente e segredo no código.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';
// Inicializando a configuração
$configuration = new GroupDocs\Conversion\Configuration();
// Definindo as configurações
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);
Converter Excel em PDF usando uma API REST em PHP
Podemos facilmente converter arquivos do Excel em documentos PDF programaticamente na nuvem, seguindo as etapas abaixo:
- Upload o arquivo XLSX para a nuvem
- Converter Excel para PDF
- Baixe o arquivo PDF convertido
Carregar o arquivo Excel
Em primeiro lugar, faremos o upload do arquivo XLSX para a nuvem usando o seguinte exemplo de código:
// Este exemplo de código demonstra como carregar um arquivo XLSX para a nuvem.
// Inicializar uma instância da API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);
// Caminho do arquivo de entrada
$file = "C:\\Files\\Conversion\\sample.xlsx";
// Criar solicitação de upload de arquivo
$request = new GroupDocs\Conversion\Model\Requests\UploadFileRequest("sample.xlsx", $file, self::$MyStorage, null);
// Subir arquivo
$response = $apiInstance->uploadFile($request);
Como resultado, o arquivo carregado estará disponível na seção de arquivos do painel na nuvem.
Converter Excel para PDF em PHP
Agora, vamos converter o arquivo XLSX carregado para o documento PDF seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância do ConvertApi.
- Em seguida, inicialize a instância ConvertSettings e defina o caminho do arquivo XLSX carregado.
- Em seguida, atribua “pdf” ao formato e forneça o caminho do arquivo de saída.
- Em seguida, defina várias SpreadsheetLoadOptions, como setOnePagePerSheet, etc.
- Opcionalmente, defina várias PdfConvertOptions como setCenterWindow, setMarginTop, setMarginLeft, etc.
- Depois disso, crie ConvertDocumentRequest com ConvertSettings como argumento.
- Por fim, converta chamando o método ConvertApi.convertDocument().
O exemplo de código a seguir mostra como converter uma planilha do Excel em um documento PDF usando uma API REST em PHP.
// Este exemplo de código demonstra como converter Excel em PDF.
// Inicializar uma instância da API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Definir configurações de conversão
$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
// Opções de carregamento da planilha
$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
// Atribuir opções de carregamento
$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
// Assgin converter opções
$settings->setConvertOptions($convertOptions);
// Criar solicitação de conversão de documento
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Converter documento
$response = $convertApi->convertDocument($request);
// Feito
echo "Document converted successfully: ", $response[0]->getUrl();
Baixe o arquivo convertido
O exemplo de código acima salvará o arquivo PDF convertido na nuvem. Ele pode ser baixado usando o seguinte exemplo de código:
// Este exemplo de código demonstra como baixar um arquivo PDF da nuvem.
// Inicializar uma instância da API
$apiInstance = new GroupDocs\Conversion\FileApi($configuration);
// Criar solicitação de arquivo de download
$request = new GroupDocs\Conversion\Model\Requests\DownloadFileRequest("convertedExcel.pdf", self::$MyStorage, null);
// ⇬ Fazer download do arquivo
$response = $apiInstance->downloadFile($request);
Converter planilhas específicas do Excel para PDF em PHP
Também podemos converter planilhas específicas do Excel em um documento PDF seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância do ConvertApi.
- Em seguida, inicialize a instância ConvertSettings.
- Em seguida, defina o caminho do arquivo XLSX carregado.
- Atribua também “pdf” ao formato e forneça o caminho do arquivo de saída.
- Em seguida, inicialize o objeto PdfConvertOptions
- Em seguida, forneça índices de folha específicos em uma matriz separada por vírgulas para converter.
- Depois disso, crie ConvertDocumentRequest com ConvertSettings como argumento.
- Por fim, converta chamando o método ConvertApi.convertDocument().
O exemplo de código a seguir mostra como converter uma planilha específica do Excel em um documento PDF usando uma API REST em PHP. Siga as etapas mencionadas anteriormente para fazer upload e download dos arquivos.
// Este exemplo de código demonstra como converter planilhas específicas do Excel em PDF.
// Inicializar uma instância da API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Definir configurações de conversão
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedSpecificSheet.pdf");
// Definir opções de conversão de PDF
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setPages([2, 4]); // Define pages (sheets) to convert
// Atribuir opções de conversão
$settings->setConvertOptions($convertOptions);
// Criar solicitação de conversão de documento
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Converter documento
$response = $convertApi->convertDocument($request);
// Feito
echo "Document converted successfully: ", $response[0]->getUrl();
Também podemos converter uma variedade de planilhas do Excel em um arquivo PDF seguindo as etapas mencionadas anteriormente. No entanto, precisamos apenas mencionar o intervalo de folhas conforme mostrado a seguir:
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
$convertOptions->setFromPage(2);
$convertOptions->setPagesCount(4);
Excel para conversão de PDF com marca d’água
Podemos converter planilhas do Excel em um documento PDF e adicionar uma marca d’água ao documento convertido seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância do ConvertApi.
- Em seguida, inicialize a instância ConvertSettings.
- Em seguida, defina o caminho do arquivo XLSX carregado.
- Atribua também “pdf” ao formato e forneça o caminho do arquivo de saída.
- Em seguida, inicialize o objeto WatermarkOptions e defina Watermark Text, Color, Width, Height, etc.
- Em seguida, defina o PdfConvertOptions e atribua WatermarkOptions.
- Depois disso, crie ConvertDocumentRequest com ConvertSettings como argumento.
- Por fim, converta chamando o método ConvertApi.convertDocument().
O exemplo de código a seguir mostra como converter uma planilha do Excel em um documento PDF e adicionar uma marca d’água ao documento PDF convertido usando uma API REST em PHP. Siga as etapas mencionadas anteriormente para fazer upload e download dos arquivos.
// Este exemplo de código demonstra como converter Excel em PDF com marca d'água.
// Inicializar uma instância da API
$convertApi = new GroupDocs\Conversion\ConvertApi($configuration);
// Definir configurações de conversão
$settings = new GroupDocs\Conversion\Model\ConvertSettings();
$settings->setStorageName(self::$MyStorage);
$settings->setFilePath("sample.xlsx");
$settings->setFormat("pdf");
$settings->setOutputPath("convertedWithWatermark.pdf");
// Definir marca d'água
$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 opções de conversão de PDF
$convertOptions = new GroupDocs\Conversion\Model\PdfConvertOptions();
// Definir marca d'água
$convertOptions->setWatermarkOptions($watermark);
// Atribuir opções de conversão
$settings->setConvertOptions($convertOptions);
// Criar solicitação de conversão de documento
$request = new GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest($settings);
// Converter documento
$response = $convertApi->convertDocument($request);
// Feito
echo "Document converted successfully: ", $response[0]->getUrl();
Converta Excel em PDF sem usar o Cloud Storage
Podemos converter Excel em PDF sem usar o armazenamento em nuvem seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância do ConvertApi.
- Em seguida, crie ConvertDocumentDirectRequest com o formato de destino e o caminho do arquivo de entrada como argumentos.
- Finalmente, converta chamando o método convertDocumentDirect().
O exemplo de código a seguir mostra como converter uma planilha do Excel em um documento PDF sem usar o armazenamento em nuvem. Passamos o arquivo de entrada no corpo da solicitação e recebemos o arquivo de saída na resposta da API.
// Este exemplo de código demonstra como converter Excel em PDF sem usar armazenamento em nuvem.
// Inicializar uma instância da API
$apiInstance = new GroupDocs\Conversion\ConverterApi($configuration);
// Caminho do arquivo de entrada
$filePath = "C:\\Files\\Conversion\\sample.xlsx";
// Preparar solicitação direta de conversão de documento
$request = new GroupDocs\Conversion\Model\Requests\ConverterDocumentDirectRequest("pdf", $filePath);
// Converter
$result = $apiInstance->convertDocumentDirect($request);
// Feito
echo "Document converted: " . $result->getSize();
Experimente on-line
Experimente a seguinte ferramenta de conversão on-line gratuita de XLSX para PDF, desenvolvida usando a API acima. https://products.groupdocs.app/conversion/xlsx-to-pdf
Conclusão
Neste artigo, aprendemos como:
- converter Excel para PDF usando PHP;
- converter planilhas específicas do Excel para PDF em PHP;
- adicionar marca d’água ao documento PDF convertido;
- converter sem usar armazenamento em nuvem;
- fazer upload do arquivo XLSX para a nuvem;
- baixe o arquivo PDF da nuvem.
Além disso, você pode aprender mais sobre GroupDocs.Conversion Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.