Linux에서 무작위로 작성된 PDF가 있으면 어떻게해야합니까?
- PDF / A 형식 인지 확인하십시오 .
- PDF / A 형식이 아닌 경우 최소한의 충실도 손실로 PDF / A로 변환 하시겠습니까?
나는 변환이 문서의 이국적인 요소를 잃을 수도 있다는 것을 알고 있지만, 상대적으로 먼 미래에 문서를 열 수있는 능력이 그런 멋진 기능보다 중요하다고 가정합시다. 어쨌든). 원본 파일을 열 수 없다는 위험보다 문서를 나란히 볼 수있을 때 변환의 정확성을 시각적으로 확인할 수 있습니다.
답변
신분증
PDF / A 파일을 식별하는 데 사용할 수있는이 도구를 찾았습니다. 이를 DROID (Digital Record and Object Identification)라고 합니다. Java 기반이며 GUI 또는 명령 줄에서 실행할 수 있습니다.
발췌
DROID는 파일 형식의 자동 배치 식별을 수행하기 위해 National Archives에서 개발 한 소프트웨어 도구입니다. 광범위한 디지털 보존 활동의 일환으로 Digital Preservation Department에서 개발 한 DROID는 모든 디지털 저장소의 기본 요구 사항을 충족하여 저장된 모든 디지털 개체의 정확한 형식을 식별하고 해당 식별을 중앙 레지스트리에 연결할 수 있도록 설계되었습니다. 해당 형식 및 해당 종속성에 대한 기술 정보
National Archives가 후원한다는 점을 감안할 때 PDF / A 형식의 목적에 따라이 작업을 수행하는 데 적합한 도구라고 생각합니다. 또한 프로젝트는 오픈 소스이며 코드는 Github 에서 사용할 수 있으며 National Archives 웹 사이트 에서 이진 형식으로 패키지됩니다 .
검증 및 변환
유효성 검사 및 변환을 수행하는 도구를 찾고 있다면 PDFBox 가이 를 수행 할 수 있다고 생각 합니다. PDFBox는 웹 사이트의 첫 페이지에 PDF / A 유효성 검사를 나열합니다. 또 다른 Java 응용 프로그램입니다 8-).
웹 사이트에서 발췌
PDF / A 검증
PDF / A ISO 표준에 따라 PDF를 검증 합니다.
기본 페이지 왼쪽의 명령 행 도구 섹션 아래에 도구 의 다음 사용법이 표시됩니다.
$ java -jar pdfbox-app-x.y.z.jar org.apache.pdfbox.ConvertColorspace [OPTIONS] <inputfile> <outputfile>
veraPDF 는 PDF / A를 검증 할 수있는 또 다른 도구입니다. Open Preservation Foundation의 참조 도구 세트의 일부입니다. 또한 Java 응용 프로그램입니다.
변환
변환을 수행 하기 위해 다음 방법을 사용하는 기존 PDF를 PDF / A로 변환하는 무료 방법 이라는 블로그 게시물에서이 방법을 찾았습니다 .
- 고스트 스크립트 8.64 만 해당.
- PDFBox 0.7.3
- pdfmarks (추가 메타 데이터를 제공하는 파일)
- PDFA_def.ps
- USWebCoatedSWOP.icc
위의 내용으로 다음 명령을 사용합니다.
$ gs -sDEVICE=pdfwrite -q -dNOPAUSE -dBATCH -dNOSAFER \
-dPDFA -dUseCIEColor -sProcessColorModel=DeviceCMYK \
-sOutputFile=Out_PDFA.pdf PDFA_def.ps pdfmarks IN_PDF.pdf
사마귀가없는 것은 아닙니다. 이 기사에서는 그 중 하나 인 하이퍼 링크의 인쇄 플래그를 수정하여 그 중 하나에 대해 설명합니다. 이 기사는 다음을 수정하는 데 사용할 수있는 Java 애플리케이션을 제공합니다.
$ java FixPrintFlag Out_PDFA.pdf New_verifiablePDFA.pdf
예쁘지는 않지만 실행 가능한 것으로 보입니다. 자세한 내용은 기사 를 참조하십시오.
참고 문헌
답변
파일 식별을 위해 명령 file
이 도움이되는 경우가 많습니다. 매직 넘버, 파일 식별자, 인코딩 정보 등을 검색하여 유용한 정보를 제공합니다.
특정 PDF 파일의 경우, 유틸리티 pdfinfo
는 특히 유용합니다. 필자의 경우 Gentoo 배포판 poppler
은 PDF 렌더링 라이브러리로 패키지되어 있습니다.
답변
다음은 bash 명령 행 스크립트입니다.
#!/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
경로에있는 pdf2pdfa.sh라는 파일로 저장 한 후 다음과 같이 호출하십시오.
pdf2pdfa.sh input.pdf
input_a.pdf를 생성합니다.