2

我对 pdf::api2 有疑问,我需要编辑现有的 pdf 并放入一些图像。问题是插入 4 张图像每张图像大约需要 20 秒。所以整个过程长达一分半钟。我能做些什么来加快这个过程吗?图像是 1920 × 1080 并且需要保持那个大小,因为我需要高质量的 pdf-s ......所以事不宜迟,这里是代码:

#!/usr/bin/perl 
use PDF::API2;
print "start ".(localtime)."\n";
$pdf = PDF::API2->open("sample.pdf"); 
$page = $pdf->openpage(1); 
$page->mediabox(840,600) 
$gfx=$page->gfx; 
print "first image ".(localtime)."\n"; 
$first=$pdf->image_png("first.png"); 
print "inserting first image ".(localtime)."\n"; 
$gfx->image($first,134,106,510,281); 
print "saving ".(localtime)." \n"; 
$pdf->saveas('new_file.pdf'); 
print "done ".(localtime)." \n";

我得到的输出:

start Mon Jun 3 10:46:31 2013 
first image Mon Jun 3 10:46:31 2013 
inserting first image Mon Jun 3 10:46:53 2013 
saving Mon Jun 3 10:46:53 2013 
done Mon Jun 3 10:46:57 2013

所以最耗时的过程是 image_png 在这个例子中需要 22 秒......任何帮助将不胜感激。谢谢

更新:如果我使用转换为 JPEG 的相同图像,它会在一秒钟内完美运行。问题是我需要PNG文件的透明度

4

1 回答 1

1

PDF::API2 的文档明确表示对透明 .png 文件的操作很慢,并建议安装 PDF::API2::XS 或 (IIRC) Image::PNG::libpng 以加快速度。

于 2021-12-25T17:53:43.403 回答