Inspecionando e filtrando vetores em PDF a partir da linha de comando?


0

Eu tenho alguns PDFs, que são destinados para (neste caso) corte a laser - então, basicamente, seu único conteúdo são algumas linhas de vetor / geometria, nenhum conteúdo de varredura / bitmap, sem conteúdo de texto.

Acontece que esses PDFs têm vetores duplicados - por exemplo, eu teria um retângulo com fundo branco - e, em seguida, um extra linha para cada uma das linhas do contorno do retângulo.

Então, basicamente, eu preciso me livrar das linhas duplicadas - e eu prefiro não importar este PDF em um aplicativo vetorial (Inkscape, LibreOffice Draw), porque eles certamente adicionarão algumas outras coisas no PDF, e possivelmente mudarão o tamanho da página, etc.

Então, eu estava pensando - existe uma ferramenta de linha de comando, que eu poderia usar para inspecionar o conteúdo vetorial de PDFs, como neste pseudocódigo:

$ 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

... e, em seguida, possivelmente filtrar para um novo PDF, como neste pseudocódigo:

$ some-pdf-tool --infile test.pdf --filter-vector-ids=1,2,3,4 --outfile test_out.pdf

... o que resultaria com um test_out.pdf com apenas a forma "id: # 5, polígono" presente (e as outras linhas removidas) e nada mais foi alterado da entrada original test.pdf?


1
O primeiro passo seria usar algo como mutool para descompactar fluxos PDF, abra o arquivo resultante em um editor de texto e dê uma olhada em como os "vetores" são realmente implementados (primitivos Postscript? Outra coisa?). É recomendável ler a especificação do PDF para isso. Depois de ter isso, você pode pensar em extrair e trabalhar em seus vetores particulares, removendo duplicatas. Não haverá uma ferramenta geral, pois não há codificação geral. Pode ser mais fácil obter o que produz os PDFs para produzir outra coisa.
dirkt

Obrigado @dirkt - especialmente para "Não haverá uma ferramenta geral, já que não há codificação geral", esperava o contrário - mas é bom saber disso e ter isso em mente.
sdaau
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.