api2pdf/api2pdf.php

此客户端库是 Api2Pdf.com REST API 的封装。请参阅完整的 REST API 文档:https://www.api2pdf.com/documentation/v2。Api2Pdf 是一个功能强大的 API,支持将 HTML 转换为 PDF、URL 转换为 PDF、HTML 转换为图片、URL 转换为图片、Office 文件的缩略图/图片预览,以及 Office 文件(Word 转换为

2.0.2 2021-10-27 00:59 UTC

This package is not auto-updated.

Last update: 2024-09-23 02:38:52 UTC


README

用于 Api2Pdf REST API 的 PHP 代码 Api2Pdf

Api2Pdf.com 是一个强大的 REST API,可以即时从 HTML、URL、Microsoft Office 文档(Word、Excel、PPT)、电子邮件文件和图像中生成 PDF 和 Office 文档。您可以生成 PDF、Office 文件或电子邮件文件的图片预览或缩略图。该 API 还支持合并/连接两个或多个 PDF 文件、在 PDF 文件上设置密码以及向 PDF 文件添加书签。Api2Pdf 是对以下流行库的封装:wkhtmltopdfHeadless ChromePdfSharpLibreOffice

安装

从命令行运行以下命令

$ composer require api2pdf/api2pdf.php

不使用 Composer 的使用方法

将位于 src 目录中的文件复制到您的项目子目录中,然后在您的 PHP 文件开头添加以下内容

require_once 'your-own-directory/Api2Pdf.php';

资源

此 API 支持的资源

授权

获取 API 密钥

portal.api2pdf.com 上创建账户以获取您的 API 密钥。

使用方法

初始化客户端

所有使用都从调用导入命令并初始化客户端开始,将 API 密钥作为参数传递给构造函数。

use Api2Pdf\Api2Pdf;

$apiClient = new Api2Pdf('YOUR-API-KEY');

一旦初始化了客户端,您就可以像这样进行调用

$result = $apiClient->chromeHtmlToPdf('<p>Hello, World</p>');
echo $result->getFile();

结果格式

每个 API 调用都会返回一个 ApiResult 对象。如果调用失败,则将抛出异常,其中包含失败结果的消息。

其他属性包括总数据使用量以及 API 调用的费用,通常是非常小的分数。

$file = $result->getFile();
$cost = $result->getCost();
$mbOut = $result->getMbOut();
$seconds = $result->getSeconds();
$responseId = $result->getResponseId();

wkhtmltopdf

将 HTML 转换为 PDF

$result = $apiClient->wkHtmlToPdf('<p>Hello, World</p>');

将 HTML 转换为 PDF(在浏览器窗口中加载 PDF 并指定文件名)

$result = $apiClient->wkHtmlToPdf('<p>Hello, World</p>', $inline = false, $fileName = "test.pdf");

将 HTML 转换为 PDF(使用参数进行高级 wkhtmltopdf 设置) 查看可用的 wkhtmltopdf 选项列表。

$options = [
    "orientation" => "landscape",
    "pageSize" => "A4"
];
$result = $apiClient->wkHtmlToPdf('<p>Hello, World</p>', $inline = false, $filename = "test.pdf", $options = $options);

将 URL 转换为 PDF

$result = $apiClient->wkUrlToPdf('http://www.api2pdf.com');

将 URL 转换为 PDF(在浏览器窗口中加载 PDF 并指定文件名)

$result = $apiClient->wkUrlToPdf('http://www.api2pdf.com', $inline = false, $fileName = "test.pdf");

将 URL 转换为 PDF(使用参数进行高级 wkhtmltopdf 设置) 查看可用的 wkhtmltopdf 选项列表。

$options = [
    "orientation" => "landscape",
    "pageSize" => "A4"
];
$result = $apiClient->wkUrlToPdf('http://www.api2pdf.com', $inline = false, $filename = "test.pdf", $options = $options);

无头 Chrome

将 HTML 转换为 PDF

$result = $apiClient->chromeHtmlToPdf('<p>Hello, World</p>');

将 HTML 转换为 PDF(在浏览器窗口中加载 PDF 并指定文件名)

$result = $apiClient->chromeHtmlToPdf('<p>Hello, World</p>', $inline = false, $filename = "test.pdf");

将 HTML 转换为 PDF(使用参数进行高级无头 Chrome 设置) 查看可用的无头 Chrome 选项列表。

$options = [
    "landscape" => true
];
$result = $apiClient->chromeHtmlToPdf('<p>Hello, World</p>', $inline = false, $filename = "test.pdf", $options = $options);

将 URL 转换为 PDF

$result = $apiClient->chromeUrlToPdf('http://www.api2pdf.com');

将 URL 转换为 PDF(在浏览器窗口中加载 PDF 并指定文件名)

$result = $apiClient->chromeUrlToPdf('http://www.api2pdf.com', $inline = false, $filename = "test.pdf");

将URL转换为PDF(使用参数进行高级无头Chrome设置) 查看可用的无头Chrome选项完整列表。

$options = [
    "landscape" => true
];
$result = $apiClient->chromeUrlToPdf('http://www.api2pdf.com', $inline = false, $filename = "test.pdf", $options = $options);

将HTML转换为图像

$result = $apiClient->chromeHtmlToImage('<p>Hello, World</p>');

将HTML转换为图像(在浏览器窗口中加载图像并指定文件名)

$result = $apiClient->chromeHtmlToImage('<p>Hello, World</p>', $inline = false, $filename = "test.jpg");

将HTML转换为图像(使用参数进行高级无头Chrome设置) 查看可用的无头Chrome选项完整列表。

$options = [
    "fullPage" => true
];
$result = $apiClient->chromeHtmlToImage('<p>Hello, World</p>', $inline = false, $filename = "test.jpg", $options = $options);

将URL转换为图像

$result = $apiClient->chromeUrlToImage('http://www.api2pdf.com');

将URL转换为图像(在浏览器窗口中加载图像并指定文件名)

$result = $apiClient->chromeUrlToImage('http://www.api2pdf.com', $inline = false, $filename = "test.jpg");

将URL转换为图像(使用参数进行高级无头Chrome设置) 查看可用的无头Chrome选项完整列表。

$options = [
    "fullPage" => true
];
$result = $apiClient->chromeUrlToImage('http://www.api2pdf.com', $inline = false, $filename = "test.jpg", $options = $options);

LibreOffice

将任何办公文件转换为PDF,将图像文件转换为PDF,将电子邮件文件转换为PDF,将HTML转换为Word,将HTML转换为Excel,以及将PDF转换为HTML。任何可以合理通过LibreOffice打开的文件都应该可以转换。此外,我们还有一个用于生成PDF或Office文档第一页缩略图的端点。这对于为用户生成文件图像预览非常棒。

您必须提供文件的url。我们的引擎将消费该URL上的文件并将其转换为PDF。

将Microsoft Office文档或图像转换为PDF

$result = $apiClient->libreOfficeAnyToPdf('https://www.api2pdf.com/wp-content/themes/api2pdf/assets/samples/sample-word-doc.docx');

PDF或Office文档或电子邮件文件的缩略图或图像预览

$result = $apiClient->libreOfficeThumbnail('https://www.api2pdf.com/wp-content/themes/api2pdf/assets/samples/sample-word-doc.docx');

将HTML转换为Microsoft Word或Docx

$result = $apiClient->libreOfficeHtmlToDocx('http://www.api2pdf.com/wp-content/uploads/2021/01/sampleHtml.html');

将HTML转换为Microsoft Excel或Xlsx

$result = $apiClient->libreOfficeHtmlToXlsx('http://www.api2pdf.com/wp-content/uploads/2021/01/sampleTables.html');

将PDF转换为HTML

$result = $apiClient->libreOfficePdfToHtml('http://www.api2pdf.com/wp-content/uploads/2021/01/1a082b03-2bd6-4703-989d-0443a88e3b0f-4.pdf');

PdfSharp - 合并/连接两个或更多PDF,为PDF添加书签,为PDF添加密码

要使用合并端点,提供现有PDF的url列表。引擎将消费所有PDF并将它们合并为单个PDF,顺序与列表中提供的方式相同。

从URL列表合并PDF到现有PDF

$linksToPdfs = ['https://LINK-TO-PDF', 'https://LINK-TO-PDF'];
$mergeResult = $apiClient->pdfsharpMerge($linksToPdfs);

为现有PDF添加书签

$linkToPdf = 'https://LINK-TO-PDF';
$bookmarks = [
    [ "Page" => 0, "Title" => "Introduction" ],
    [ "Page" => 1, "Title" => "Second page" ] 
];
$bookmarkResult = $apiClient->pdfsharpAddBookmarks($linkToPdf, $bookmarks);

为现有PDF添加密码

$linkToPdf = 'https://LINK-TO-PDF';
$userpassword = 'hello';
$bookmarkResult = $apiClient->pdfsharpAddPassword($linkToPdf, $userpassword);

辅助方法

delete($responseId)

默认情况下,Api2Pdf将在生成后的24小时后删除您的生成文件。对于有高度安全需求的人,您可能希望在命令下删除您的文件。您可以通过带有返回在原始JSON有效负载中返回的responseId属性的DELETE API调用来实现。

$result = $apiClient->chromeHtmlToPdf("<p>Hello World</p>");
$responseId = $result->getResponseId();
//delete pdf
$apiClient->utilityDelete($responseId);