Convertendo PDF para PDF / A?

10

Dado um PDF de origem aleatória, como eu, no Linux:

  • confirmar se já está no formato PDF / A ?
  • se não estiver no formato PDF / A, converta-o para PDF / A com uma perda mínima de fidelidade?

Estou ciente de que a conversão pode causar a perda de elementos exóticos do documento, mas vamos supor que a capacidade de abrir o documento em um futuro relativamente distante seja mais importante do que esses recursos modernos (que podem não estar disponíveis). legível em tal momento de qualquer maneira). Eu preferiria ser capaz de confirmar visualmente a precisão da conversão quando eu puder visualizar os documentos lado a lado trivialmente, do que o risco de não conseguir abrir o arquivo original.

    
por a CVn 15.06.2013 / 17:20

3 respostas

7

Identificação

Eu encontrei esta ferramenta que parece ser o que você pode usar para identificar arquivos PDF / A. É chamado de DROID (Registro Digital e Identificação de Objetos) . É baseado em Java e pode ser executado a partir de uma GUI ou da linha de comando.

trecho

DROID is a software tool developed by The National Archives to perform automated batch identification of file formats. Developed by its Digital Preservation Department as part of its broader digital preservation activities, DROID is designed to meet the fundamental requirement of any digital repository to be able to identify the precise format of all stored digital objects, and to link that identification to a central registry of technical information about that format and its dependencies.

Dado que é patrocinado pelos Arquivos Nacionais, eu diria que é a ferramenta certa para fazer isso, dado o propósito pretendido do formato PDF / A. Além disso, o projeto é de código aberto e o código está disponível no Github , bem como em formato binário do Site de Arquivos Nacionais .

Validação e amp; Conversão

Se você estiver procurando por uma ferramenta para realizar validação & conversão Eu acredito que o PDFBox pode fazer isso. PDFBox lista validação PDF / A na primeira página do seu site. É outro aplicativo Java 8 -).

trecho do site

PDF/A Validation
Validate PDFs against the PDF/A ISO standard.

Sob a seção de ferramentas de linha de comando à esquerda de sua página principal, mostre o seguinte uso para a ferramenta:

$ java -jar pdfbox-app-x.y.z.jar org.apache.pdfbox.ConvertColorspace [OPTIONS] <inputfile> <outputfile>

veraPDF é outra ferramenta capaz de validar PDF / A; faz parte do conjunto de ferramentas de referência da Open Preservation Foundation. Também é um aplicativo Java.

Conversão

Por apenas fazer a conversão, encontrei este método em uma postagem do blog intitulada: Maneira gratuita de converter um PDF existente para PDF / A , que usa as seguintes ferramentas:

  • Apenas Ghostscript 8.64.
  • PDFBox 0.7.3
  • pdfmarks (arquivo para fornecer metadados adicionais)
  • PDFA_def.ps
  • USWebCoatedSWOP.icc

Com o acima indicado, você usa o seguinte comando:

$ gs -sDEVICE=pdfwrite -q -dNOPAUSE -dBATCH -dNOSAFER     \
-dPDFA -dUseCIEColor -sProcessColorModel=DeviceCMYK       \
-sOutputFile=Out_PDFA.pdf PDFA_def.ps pdfmarks IN_PDF.pdf

Não é sem verrugas. O artigo discute um deles, corrigindo os sinalizadores de impressão em hiperlinks sendo um deles. O artigo fornece um aplicativo Java que você pode usar para corrigir isso:

$ java FixPrintFlag Out_PDFA.pdf New_verifiablePDFA.pdf

Não é bonito, mas parece ser viável. Consulte o artigo para obter mais detalhes.

Referências

por 15.06.2013 / 18:09
1

Para a identificação de arquivos, o comando file costuma ser útil. Ele procurará em seu arquivo por números mágicos, identificadores de arquivo, informações de codificação, etc., para fornecer qualquer informação útil possível.

No caso particular dos arquivos PDF, o utilitário pdfinfo é especialmente útil. No meu caso, uma distribuição do Gentoo, é empacotada com poppler , uma biblioteca de renderização em PDF.

    
por 15.06.2013 / 20:33
0

Aqui está um script de linha de comando bash fazendo exatamente isso:

#!/bin/bash

pdf_input=$1
ps_output=${pdf_input%.*}.ps
pdfa_output=${pdf_input%.*}_a.pdf
pdftops $input $ps_output

gs -dPDFA -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=$pdfa_output $ps_output

Salve em um arquivo chamado pdf2pdfa.sh que está no seu caminho, e chame assim:

pdf2pdfa.sh input.pdf

Ele criará input_a.pdf.

    
por 15.10.2018 / 04:01

Tags