Perl 中有没有一种方法可以在与 PDF 文本相同的坐标系中从 PDF 获取路径的坐标?
Is there a way in Perl to get the coordinates of a Path from a PDF in the same coordinate system as the PDF text?
我有一个包含路径和文本的 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 个单位)。有没有办法在与文本相同的坐标系(设备space?)中使用CAM::PDF(或其他一些Perl模块?)获取路径坐标?
我是 CAM::PDF 的作者。确实,您走在正确的轨道上。看一下CAM::PDF::Renderer::Dump
的实现,很简单。 class 演示了如何捕获文本命令的坐标。接下来,查看 CAM::PDF::GS::NoText
并查看您可以在自己的自定义渲染中覆盖哪些其他方法 class 类似于 CAM::PDF::Renderer::Dump
。
我有一个包含路径和文本的 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 个单位)。有没有办法在与文本相同的坐标系(设备space?)中使用CAM::PDF(或其他一些Perl模块?)获取路径坐标?
我是 CAM::PDF 的作者。确实,您走在正确的轨道上。看一下CAM::PDF::Renderer::Dump
的实现,很简单。 class 演示了如何捕获文本命令的坐标。接下来,查看 CAM::PDF::GS::NoText
并查看您可以在自己的自定义渲染中覆盖哪些其他方法 class 类似于 CAM::PDF::Renderer::Dump
。