我使用CAM::PDF
来合并几个PDF文件。这工作正常。现在我需要在每个页面上使用PDF::API2
添加一个印章。这对一些页面工作正常,但不适用于其他页面。使用Perl的PDF :: API2处理具有不同旋转和缩放的PDF文件
用wkhtmltopdf创建的PDF文件似乎有他们的协调系统翻转和缩放也关闭。
当通过网页运行我添加印记这样的:
my $pdf2 = PDF::API2->open_scalar($pdf_data);
my $page_count = $pdf2->pages;
for my $i (1 .. $page_count) {
my $page = $pdf2->openpage($i);
my $content = $page->gfx();
my $text = $page->text();
$content->linewidth(2);
$content->rectxy(5, 10, 140, 40);
$content->stroke;
my $font = $pdf2->ttfont('calibri.ttf');
$text->scale(1.0, 1.0);
$text->font($font, 12);
$text->translate(10, 14);
$text->text(sprintf('PAGINA %d VAN %d', $i, $page_count));
$text->translate(10, 26);
$text->text('some ID');
}
my $pdf_data = $pdf2->stringify;
现在,这是从wkhtmltopdf页面在左上角甚至更细小的文字一个小框(但内页边距)并且是镜像的。非wkhtmltopdf页面的左下角有正确大小的文本框(忽略页边距)。
使用$content->scale
和$content->rotate(180)
我可以在由wkhtmltopdf创建的页面上正确显示标记。但其他网页却搞砸了。
那么,有什么方法可以确保每个文档在所有页面上的方向,旋转和缩放都相同吗?
一个奇怪的现象是,当我用wkhtmltopdf设置70的DPI时,邮票的大小似乎相匹配。文本和坐标似乎仍然是镜像的。 – Htbaa 2014-08-27 15:03:18
另外,当我不使用'CAM :: PDF'时,只需将由wkhtmltopdf生成的单个PDF文档直接传递到'PDF :: API2',就会出现同样的问题。 – Htbaa 2014-08-27 15:48:24
请参阅[这个答案](http://stackoverflow.com/questions/2947925/how-to-add-header-footer-with-images-using-pdfapi2lite/3049803#3049803)通过使用importPageIntoForm方法解决此问题然后叠加新的文字和图形。 – dwarring 2014-08-28 02:15:29