我有一个包含路径和文本的PDF页面。我需要在同一个坐标系中找到路径和文本的坐标。我可以使用CAM::PDF获取文本坐标,如下所示:
use CAM::PDF;
use PDF::ToText;
#open pdf file and look at pg1
my $pdf = CAM::PDF->new($pdfFileName);
my $contentTree = $pdf->getPageContentTree(1);
$contentTree->render("PDF::ToText");
我无法弄清楚如何在同一PDF页面上获取路径的坐标。我可以查看PDF页面内容并查看路径坐标,但我认为这些需要使用当前的转换矩阵进行翻译,因为我知道某些特定的文本字符位于页面上与路径相同的位置(如x标记)藏宝图上的斑点......)但是我可以得到的坐标没有重叠(文本和路径超出约500个单位)。有没有办法在与文本相同的坐标系(设备空间?)中使用CAM :: PDF(或其他一些其他Perl模块?)来获取路径坐标?
答案 0 :(得分:0)
I'm the author of CAM::PDF. Indeed, you're on the right track. Take a look at the implementation of CAM::PDF::Renderer::Dump
, which is very simple. That class demonstrates how to capture the coordinates of a text command. Next, look at CAM::PDF::GS::NoText
and see what other methods you can override in your own custom render class similar to CAM::PDF::Renderer::Dump
.