我有一些 PDF,用于(在这种情况下)激光切割 - 所以基本上,它们的唯一内容是一些矢量线/几何图形,没有光栅/位图内容,没有文本内容。
事实证明,这些 PDF 有重复的矢量 - 例如,我有一个带有白色背景的矩形,然后,一个额外的矩形轮廓的每条线。
所以,基本上,我需要摆脱重复的线条 - 而且我不想在矢量应用程序(Inkscape,LibreOffice Draw)中导入这个 PDF,因为它们肯定会在 PDF 中添加一些其他内容,并可能更改页面大小等。
所以,我想知道 - 是否有一个命令行工具,我可以用它来检查 PDF 的矢量内容,如以下伪代码所示:
$ some-pdf-tool --infile test.pdf --inspect-vectors
Opening "test.pdf" - 4 pages;
Page 1, size 100x30 mm:
- id:#1, line: 2 points [(0,0), (0,10)], outline color: #000000, thickness 1pt
- id:#2, line: 2 points [(0,10), (10,10)], outline color: #000000, thickness 1pt
- id:#3, line: 2 points [(10,10), (10,0)], outline color: #000000, thickness 1pt
- id:#4, line: 2 points [(10,0), (0,0)], outline color: #000000, thickness 1pt
- id:#5, polygon: 4 points [(0,0), (0,10), (10,10), (10,0)], outline color: #000000, thickness 1pt, fill: #FFFFFF
...然后可能过滤到新的 PDF 中,如以下伪代码所示:
$ some-pdf-tool --infile test.pdf --filter-vector-ids=1,2,3,4 --outfile test_out.pdf
...这将导致test_out.pdf
仅存在“id:#5,多边形”形状(并且其他线条被删除),并且原始输入没有任何变化test.pdf
?