从服务器读取单个 PDF 页面
Read a single PDF page from server
我需要从超过 1000 页的海量 PDF 中select灵活地嵌入 PDF 页面(而这恰好是保存为 PDF 的 1000 张幻灯片的 powerpoint)
我目前能够使用 Ghostscript 将单个页面提取为 JPG 并将其发送给客户端。
有没有一种方法(最好使用 PHP)从 PDF 中读取单个页面并将其输出为客户端 EMBED/OBJECT 嵌入的整个 PDF?
- 目的是避免光栅化,只输出一个 PDF 页面...作为 PDF,因此保留了诸如用户能够 select 文本、基于矢量的元素不会丢失细节的功能放大等
由于您已经有一张 jpg 图片,您可以使用 ImageMagic 将其转换为 pdf,如下所示:
$img = new Imagick('path/to/image.jpg');
$img->setImageFormat('pdf');
$success = $img->writeImage('path/to/document.pdf');
它在后台使用 Ghostscript,但您已经安装了它,所以应该没有问题。
编辑:
$pdf = new Pdf('/path/to.pdf');
if (!$pdf->cat(1)->saveAs('/path/to/page1.pdf')) {
$error = $pdf->getError();
}
我需要从超过 1000 页的海量 PDF 中select灵活地嵌入 PDF 页面(而这恰好是保存为 PDF 的 1000 张幻灯片的 powerpoint)
我目前能够使用 Ghostscript 将单个页面提取为 JPG 并将其发送给客户端。
有没有一种方法(最好使用 PHP)从 PDF 中读取单个页面并将其输出为客户端 EMBED/OBJECT 嵌入的整个 PDF?
- 目的是避免光栅化,只输出一个 PDF 页面...作为 PDF,因此保留了诸如用户能够 select 文本、基于矢量的元素不会丢失细节的功能放大等
由于您已经有一张 jpg 图片,您可以使用 ImageMagic 将其转换为 pdf,如下所示:
$img = new Imagick('path/to/image.jpg');
$img->setImageFormat('pdf');
$success = $img->writeImage('path/to/document.pdf');
它在后台使用 Ghostscript,但您已经安装了它,所以应该没有问题。
编辑:
$pdf = new Pdf('/path/to.pdf');
if (!$pdf->cat(1)->saveAs('/path/to/page1.pdf')) {
$error = $pdf->getError();
}