광학 콘텐츠에 대해 많은 수의 PDF 파일을 비교해야합니다. PDF 파일은 다른 플랫폼과 다른 버전의 소프트웨어에서 생성 되었기 때문에 구조적 차이가 있습니다. 예를 들면 :
- 텍스트 덩어리가 다를 수 있습니다.
- 쓰기 순서는 다를 수 있습니다.
- 위치는 일부 픽셀이 다를 수 있습니다.
콘텐츠를 내부 구조가 아닌 사람처럼 비교해야합니다. 우리가 사용한 다른 버전의 PDF 생성기 간의 회귀 테스트를 원합니다.
광학 콘텐츠에 대해 많은 수의 PDF 파일을 비교해야합니다. PDF 파일은 다른 플랫폼과 다른 버전의 소프트웨어에서 생성 되었기 때문에 구조적 차이가 있습니다. 예를 들면 :
콘텐츠를 내부 구조가 아닌 사람처럼 비교해야합니다. 우리가 사용한 다른 버전의 PDF 생성기 간의 회귀 테스트를 원합니다.
답변:
우리가 작성한 도구가 없기 때문입니다. i-net PDF 컨텐츠 비교기를 다운로드하여 사용할 수 있습니다. 나는 같은 문제로 다른 사람들에게 도움이되기를 바랍니다. 문제가 있거나 피드백이있는 경우 지원팀에 문의 할 수 있습니다.
실제로 diffpdf 도구가 있습니다.
http://www.qtrac.eu/diffpdf.html
약점은 추가로 인해 새 텍스트가 부분적으로 새 페이지로 이동할 때 잘 반응하지 않는다는 것입니다. 예를 들어, 이전 페이지 4를 5 페이지의 끝과 6 페이지의 시작과 비교해야하는 경우 매개 변수를 이동하여 두 조각을 개별적으로 비교해야합니다.
집에서 만든 스크립트를 사용했습니다.
사용 된 소프트웨어 :
장점 :
단점 :
PDF / PostScript 수준에서 동일한 작업을 수행 할 도구를 찾고있었습니다.
스크립트가 유틸리티를 호출하는 방법은 다음과 같습니다 (ImageMagick은 백그라운드에서 GhostScript를 사용하여 PDF-> PNG 변환을 수행합니다).
$ convert -density 150x150 -fill red -opaque black +antialias 1.pdf back%02d.png
$ convert -density 150x150 -transparent white +antialias 2.pdf front%02d.png
$ composite front01.png back01.png result01.png # do this for all pairs of images
for i in $(seq -w 0 05); do /cygdrive/c/Progra~1/ImageMagick-6.6.9-Q8/composite.exe 1-$i.png 2-$i.png result-$i.png; done
pdfdiff
디렉토리 에있는 PDF의 각 페이지에 대해 하나의 JPG를 출력 하고 추가로 두 PDF간에 다른 페이지 수를 인쇄합니다.
여기에서 볼 수없는 것 같습니다. 그래서 여기에 있습니다 : 수퍼 유저 를 통해 : 두 PDF 파일의 차이점을 비교하는 방법? (답변 # 229891, @slestak) ,
https://github.com/vslavik/diff-pdf
(Ubuntu Natty의 빌드 단계는 get-diff-pdf.sh 에서 찾을 수 있습니다 )
내가 볼 수있는 한, 기본적으로 pdf (s)의 각 페이지의 텍스트 / 그래픽을 오버레이하여 변경 사항이 있는지 쉽게 확인할 수 있습니다.
건배!
가장 좋은 방법은 PDF를 적절한 해상도로 이미지로 변환하고 이미지 비교를 수행하는 것입니다.
PDF에서 이미지를 생성하려면 Adobe PDF 라이브러리 또는 pdf 파일을 tiff 파일로 변환하는 최상의 방법 에서 제안 된 솔루션을 사용할 수 있습니다 .
생성 된 TIFF 파일을 비교하기 위해 GNU tiffcmp ( GnuWin32 tiff 의 Windows 부분 용 )를 찾았고 tiffinfo 가 잘 수행했습니다. tiffcmp -l을 사용하고 출력 행 수를 세어 차이점을 찾으십시오. 약간의 콘텐츠 변경 (예 : 앤티 앨리어싱 차이)이 만족 스러우면 tiffinfo를 사용하여 총 픽셀 수를 계산 한 다음 백분율 차이 값을 생성 할 수 있습니다.
그런데 구조가 변경되지 않은 간단한 PDF 비교를 수행하는 사람은 명령 줄 diff를 사용하고 특정 패턴을 무시할 수 있습니다 (예 : GNU diff 2.7 사용).
diff --brief -I xap : -I xapMM : -I / CreationDate -I / BaseFont -I / ID --binary --text
이것은 생성 된 글꼴 이름의 변경 사항을 항상 포착하지 못한다는 문제가 있습니다.
당사의 제품인 PDF Comparator- http : //www.premediasystems.com/pdfc.html "-이 작업을 매우 우아하고 효율적으로 수행합니다. 또한 무료가 아니며 Mac OS X 전용 응용 프로그램입니다.
ImageMagick
: 내 다른 몇 가지 답변을 참조 하나의 - 2 개의 - 세 .
귀하의 요구에 따라 텍스트로 변환 솔루션이 가장 쉽고 직접적입니다. 비트 맵 아이디어가 꽤 멋지다고 생각했습니다.