Windows에서 두 PDF 파일의 차이점을 비교하는 방법은 무엇입니까?


205

PDF 파일을 나란히 비교하고 두 파일 사이의 수정 사항을 보여주는 좋은 방법을 알고 있습니까?

이것을 달성하기 위해 Windows 소프트웨어를 찾고 있습니다. 무료 및 무료 제품을 게시 할 수 있다면 좋을 것입니다.



1
pdf를 픽셀 단위로 비교할 수있는 무료 라이브러리가 있습니다. 이 블로그를 확인하십시오 : testautomationguru.com/…
Vinoth S

답변:


109

xdocdiff 플러그인으로 WinMerge 를 사용해보십시오 . 둘 다 완전 무료입니다. 첨부 된 문자열이 없습니다.


아래의 몇 가지 의견은 차이점이 없음을 나타냅니다. 이는 플러그인이 올바르게 설치되지 않았 음을 의미합니다. 방법은 다음과 같습니다.

  1. xdocdiff플러그인의 readme 파일에 파일을 넣으라는 위치에 파일을 넣으십시오 (두 곳이 있습니다. 파일 이름이 변경 될 수 있으므로 여기에 나열하지는 않습니다.-readme를 읽으십시오)

  2. WinMerge에서 플러그인> 목록으로 이동하여 "플러그인 활성화"체크 상자를 선택하십시오 (이 단계는 xdocdiff읽어보기 에서 누락 됨 )

  3. WinMerge에서 플러그인> 자동 포장 풀기 (2 단계 이전에 비활성화 됨)를 선택하십시오.

그런 다음 비교할 때 비교 창에서 텍스트 파일처럼 보이는 것을 볼 수 있습니다.


이것을 시도했지만 xdocdiff 플러그인을 사용하지 않을 때 차이점을 볼 수 없었습니다. WinMerge의 UI에서 선택할 수있는 옵션이 있습니까?
Umber Ferrule

1
이진 텍스트를 PDF로 보는 목적은 무엇입니까? i-net PDFC에 의해 시각적 차이가 나타날 것으로 예상했습니다 .
JJD

이 핸들 열을 나누는 방법이 있습니까? 그것없이 하나는 여러 단계로 계단식으로 변경됩니다.
스튜어트

1
Plugins > List and tick the "Enable Plugins" checkbox나를 위해 빠진 것이 었습니다!
Seph

WinMerge diff 창에 표시된 PDF의 텍스트 버전에 많은 문자가 없습니다
cja

168

Linux 및 Windows 에서는이 스레드 diffpdf에서 diff-pdf언급 한 것과는 다른 것을 사용할 수 있습니다 .

여기에 이미지 설명을 입력하십시오

Ubuntu에서 다음을 사용하여 설치하십시오.

sudo apt-get install diffpdf

텍스트 또는 시각적으로 pd를 비교하는 방법에 대해서는 이 UbuntuGeek 페이지를 참조하십시오 .

Windows 의 경우이 Diffpdf Windows 버전은 정말 훌륭합니다. http://soft.rubypdf.com/software/diffpdf(Win32 정적 버전으로 스크롤) 에서 다운로드 할 수 있습니다 .


12
고유명이다 DiffPDF (스크린 샷에서 볼 때)과는 Qt는 4 Poppler 라이브러리를 기반으로하므로 그것이 휴대용. DiffPDF 홈페이지를 참조하십시오 qtrac.eu/diffpdf.html를 . Windows 빌드에 대한 정보는 여기 ( soft.rubypdf.com/software/diffpdf)에 있습니다. 그리고 설치 지침은 데비안에서도 작동합니다.
przemoc

3
DiffPDF 홈 페이지에는 Linux, Windows 설치 프로그램 및 Mac DMG 설치에 대한 링크도 있습니다 ( qtrac.eu/diffpdf.html ).
studgeek

6
내 의견으로는 DiffPDF가 여기에 제시된 가장 고급 도구입니다. 멋진 그래픽 비교 기능을 제공 할뿐만 아니라 WinMerge의 xdocdiff와 같이 다른 것들보다 더 영리한 변경 사항을 추적합니다. 그러나 한 가지 심각한 문제가 있습니다. 페이지와의 비교를 제한합니다. 즉, 문서 A의 2 페이지에 일부 텍스트가 있지만이 텍스트가 문서 B의 3 페이지로 이동하면 도구는 A로 이동하여 B에 추가 된 것으로 간주합니다.
caw

7
이전 무료 버전은 여기
Shafik Yaghmour

3
PDF로 내보내는 소설에 이것을 사용해 보았습니다. 불행히도이 도구는 10 페이지 정도가 지나면 트랙을 잃어 버렸지 만 큰 구절이 정확히 같더라도 모든 것이 "다른"것으로 간주되었습니다.
Eric J.

42

나는 최근에 이것을 발견하고 그것을 좋아합니다.

https://github.com/vslavik/diff-pdf

크로스 플랫폼 무료, 잘 작동합니다.

diff-pdf실제 스크린 샷은 다음과 같습니다 . PDF에서는 텍스트가 다르지 않고 글꼴 (및 해당하는 레이아웃 설정) 만 있습니다.

diff-pdf.png

해당 이미지를 얻기위한 요청은 다음과 같습니다.

diff-pdf --view testA.pdf testB.pdf

 

... testA.pdf / testB.pdf는이 간단한 라텍스 파일을 다음과 같이 컴파일하여 얻습니다 pdflatex(각 pdf에 따라 주석 참조).

\documentclass[12pt]{article}


                        % without mathpazo: testA.pdf
\usepackage{mathpazo} % with mathpazo: testB.pdf
\usepackage{lipsum}


\title{A brand new test}
\author{Testulio}

\begin{document}

\maketitle

\lipsum[1-3]

\end{document}

10
단지에 대한 한 번 더 참고 diff-pdf: DiffPDF이 변경된 텍스트를 시각적으로 빠르게 나란히 비교를 위해 중대하다, 그러나 줄 간격의 작은 변화, 말, 같은 디버그 물건에 대한 사실상 불가능하다 - diff-pdf반면에, 기본적으로 페이지 내용을 넣습니다 같은 페이지에있는 두 개의 비교 된 파일 (색상이 다름)에서 줄 간격 문제를 쉽게 식별 할 수 있습니다.
sdaau

대단해! --view 옵션을 사용하지 않고 PDF 파일로 출력 할 때 대용량 파일의 진행 상황을 추적 할 수 있습니까? 자세한 옵션 / v는 아무것도하지 않는 것 같습니다. 또한 명령을 실행하여 비교 PDF를 생성하면 별도의 프로세스에서 실행되므로 프롬프트에서 무언가를 실행할 때 일반적으로 발생하는 것처럼 명령 프롬프트를 일시 중지하지 않습니다.
LukeS

이것이 내가 필요한 것입니다. 숫자 실행에 대한 PDF 보고서를 비교하고 있으므로 전체 페이지에서 한 자리의 차이를 찾고 있습니다. 문제는 시안 문자를 식별 할 수 없지만 차이점이 어디에 있는지 아는 것만으로도 원래 보고서에서 찾을 수 있습니다.
manuelvigarcia

22

또한 회사에서 PDF를 비교해야했고 찾은 솔루션에 만족하지 못하여 i-net PDFC라는 자체 솔루션을 만들었 습니다 . 무료는 아니지만 30 일 평가판을 제공합니다.

Java로 작성되었으므로 크로스 플랫폼입니다.

스크린 샷

특별하게 만드는 것은 텍스트와는 반대로 내용을 비교하거나 PDF를 이미지로 변환하고 이미지를 비교하는 것입니다. 멋진 시각적 비교 도구도 있습니다.


1
멋진 소프트웨어입니다.
Umber Ferrule

나는 이것을 작동시킬 수 없었다. 두 파일을로드하고 비교 버튼을 클릭했는데 아무런 변화가 없습니다.
Craig Fisher

1
교차 페이지 차이를 올바르게 처리합니다. 내보내기 / 인쇄 기능이 있습니다. 다른 비교 프로파일 (사용자 정의 포함). 마우스 오버는 변경된 사항에 대한 자세한 정보를 제공합니다. 좋아 보인다. 단점은 평가판 / 비용이며 이동을 처리하지 않습니다. 더 높은 투표율을 기록한 도구보다 확실히 우수합니다.
Jonathan Gawrych

@JonathanGawrych 친절한 말에 감사드립니다! 정확히 "이동"이란 무엇입니까? 아마도 우리는 그 기능을 추가 할 수 있습니다 ...
Epaga

@Epaga 텍스트 섹션이 한 페이지에서 다른 페이지로 이동하면 삭제 및 추가로 표시됩니다. 예를 들어 c ++ 제안서 N4663N4680을 비교 하십시오 . 19 페이지 주변을 참조하면 예제가 단락 11에서 8로 이동했지만 추가 / 삭제로 취급됩니다. 실제 차이점을 확인하려면 이동 한 것을 수동으로 감지 한 다음 예제를 다른 diff 도구로 복사하여 예제에 추가 된 항목 (unhandled_exception, return_void 등)을 확인해야합니다.
Jonathan Gawrych

12

Adobe Acrobat X를 사용할 수도 있습니다. "보기-> 문서 비교"아래에 PDF 비교 기능이 내장되어 있습니다.


1
Acrobat 또는 Acrobat Reader? 리더 소프트웨어에는이 기능이 없습니다
Jason S

4
AcrobatX Pro는이 기능이있는 유일한 버전입니다. "단순한 AcrobatX"는 그렇지 않습니다.
Carl Witthoft 2019

2
Acrobat 9 Pro의 경우 문서 메뉴 아래에 있습니다.
svinto


10

최근 다음 요구 사항 으로이 작업을 수행하고 싶었습니다 (diff PDF).

  • 공백, 줄 바꿈, 페이지 나누기 등을 무시하십시오.
  • 전체 줄 / 문단이 아닌 몇 단어 만 변경된 경우 쉽게 확인할 수 있습니다.
  • 색상 차이 출력

다양한 패키지 관리자에서 사용할 수있는 pdftotext, wdiff 및 colordiff를 설치했습니다. (MacPorts를 사용하여 다음 sudo port install poppler wdiff colordiff)

그때:

wdiff <(pdftotext old.pdf -) <(pdftotext new.pdf -) | colordiff

이제 멋지게 색칠 된 단어가 바뀌는 것을 볼 수 있습니다.

자세한 내용은 http://philfreo.com/blog/how-to-view-a-color-diff-of-text-from-two-pdfs/

변화:

를 사용하면 dwdiff약간 더 나은 결과를 얻을 수 있습니다.

또한 HTML 출력을 원했기 때문에이 작은 스크립트는 약간의 CSS로 기본 웹 페이지를 만듭니다.

bash pc-script.bash old.pdf new.pdf > q.htlm

그런 다음 q.html웹 브라우저로 엽니 다 .

pc-script.bash 파일:

#!/bin/bash

OLD="$1"
NEW="$2"

cat <<EOF
<html><head><meta charset="UTF-8"/><title>Changes from $OLD to $NEW</title></head><style>
.plus  { color: green; background: #E7E7E7;                                }
.minus { color: red;   background: #D7D7D7; text-decoration: line-through; }
</style><body><h1>Changes from [ <span class="minus">$OLD</span> ] to [ <span class="plus">$NEW</span> ]</h1><pre>
EOF

dwdiff -i -A best -P      \
  --start-delete='<span class="minus">' --stop-delete='</span>' \
  --start-insert='<span class="plus" >' --stop-insert='</span>' \
  <( pdftotext -enc UTF-8 -layout "$OLD" - )   \
  <( pdftotext -enc UTF-8 -layout "$NEW" - )   \

cat <<EOF
</pre></body></html>
EOF

출력 예제는 여기에서 볼 수 있습니다

여기에 이미지 설명을 입력하십시오


@philcolbourn Google+가 종료되고 있습니다. imgur를 통해 스크린 샷을 공유 하시겠습니까?
myrdd

fwiw, 나는이 작은 레포를 발견했다 : github.com/tpltnt/cli-diffpdf/blob/master/cli-diffpdf.sh
myrdd

Windows, Mac, Fedora, openSUSE를 사용하거나 시스템의 소스에서 바이너리를 컴파일 할 수있는 경우 diff-pdf 는 세 가지 다른 종속성을 설치하지 않고도이를 수행하는 더 나은 솔루션입니다. GUI를 통해서만 작동하는 다른 답변에서 언급 한 diffpdf와 혼동하지 마십시오.
Hashim

점을 유의 pc-script.bash스크립트가 HTML에 대한 문자를 이스케이프하지 않습니다.
Federico

7

PDF 내부의 텍스트를 비교하는 경우 Beyond Compare 가이를 수행합니다.

무료는 아니지만 30 일의 평가판이 있습니다.


그러나 New > Text Compare두 PDF 파일 사이의 텍스트에서 기본적인 차이점을 확인할 수있었습니다.
Ryan

6

훌륭한 도구와 사용하기 쉬운 : Compare-It v4 ( http://www.grigsoft.com/ )

여러 종류의 파일을 비교합니다. PDF 파일 용 변환기를 포함하여 일부 내장 변환기가 있습니다.

나는 만족스러운 결과로 그것을 꽤 많이 사용했습니다.

정말로 이것을 시도해야합니다. 평가판을 사용하면 시간을 무제한으로 비교할 수 있습니다.


1
이것은 나에게 가장 좋고 가장 쉬운 것이었다. 감사!
Ankur Jain

내가 찾은 가장 쉽고 가장 간단한 도구입니다. 나는 이것을 두 번 이상 공표 할 수 있기를 바란다!
차드

PDF의 경우 비교는 텍스트로 보입니다. 2010 년 마지막 릴리스. 비용을 지불 할 수 있지만 차이점이 무엇인지 확실히 알 수 있습니다.
Zitrax


1

무료, 최고는 아니지만 ...

두 문서를 모두 열어서 서로 화면을 분할했습니다.

가장 실용적인 해결책은 아니지만 작동합니다!

나는 PDF 파일을위한 좋은 DIFF 패키지를 보지 못했고 수동적이고 성가신 반면 내 방식은 효과적입니다!


흠 ... 내가 찾고 있던 것이 아니라 감사합니다.
Nelson Reis

죄송합니다. 좋은 답변은 아니지만 PDF 파일을위한 좋은 도구를 찾지 못했습니다.
William Hilsum

3
두 사본이 겹치도록 눈을 교차 시키면 차이가 깜빡입니다. : D
endolith

이 방법의 최적화 된 버전 : CTRL + L을 통해 Acrobat Reader가 전체 화면을 모두 PDF 파일을 열은 후 이동 아무것도 ... 다른, PDF 파일 사이를 전환하려면 Ctrl + F6을 사용
버나드 밴더 Beken


0

이상적이지 않은 다른 솔루션 :

  1. 이 작업을 무료로 수행 하는 웹 사이트 중 하나를 사용하여 두 PDF를 Microsoft Word 문서로 변환하십시오 .
  2. Word에서 문서 비교 기능 을 사용하십시오 .

PDF의 서식이 얼마나 복잡한 지 및 원하는 변경 종류에 따라 괜찮을 수 있습니다.


이 경우 많은 PDF 문서가 있고 수정이 매우 자주 발생하므로 어렵습니다. 그러나 제안에 감사드립니다.
Nelson Reis

LaTeX 출력에도 좋지 않습니다. 합자 등을 올바르게 처리하는 이러한 변환기 중 하나를 찾지 못했습니다.
Chris H

0

상업 : 당신은 무려 $ 449, 원래는 Adobe Acrobat Professional을 사용할 수 있습니다 :
이전 버전으로 수정 된 PDF를 비교 .

Acrobat을 결정한 경우이 페이지의 주석은 사용과 관련이 있습니다.


"무려 $ 449"에 대해 ... 그리고 몇 MB의 디스크 공간이 있습니까?
휴 알렌

3
@ 휴 알렌 : 많은 디스크 공간과 레지스트리에있는 수만 항목의 지옥. 실제 블로 트웨어.
harrymc

는 Adobe Acrobat XI 업데이트 된 도움말 : adobe.com/uk/products/acrobat/file-compare-two-pdf-files.html
스 퀴그

그리고 어쨌든 버그가 있습니다 : forums.adobe.com/thread/647854?tstart=0
Michal Sokolowski


0

두 개의 pdf 파일간에 매우 기본적으로 동기화 된 스크롤 방식을 위해 필자가 작성한 다음 자동 단축키 스크립트를 사용할 수 있습니다. SumatraPDF 창이 두 개 열려 있다고 가정합니다. 오른쪽을 눌러 두 창에서 다음 페이지로 이동하고 이전 페이지를 보려면 왼쪽을 누르십시오.

#IfWinActive ,SumatraPDF
Right::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Right}
WinActivate, ahk_id %win2%
sendinput {Right}
WinActivate, ahk_id %orig%
return

Left::
orig := WinExist("A")
WinGet, outvar, List, SumatraPDF
win1 := outvar1
win2 := outvar2
WinActivate, ahk_id %win1%
sendinput {Left}
WinActivate, ahk_id %win2%
sendinput {Left}
WinActivate, ahk_id %orig%
return

0

나는 이것을 (이상적이지 않지만 나에게 충분한) 해결책을 사용했다.

  • PDF를 일반 텍스트로 변환 (필자의 경우 Adobe Reader, 무료 앱)
  • opendiff (XCode에 포함, 무료)를 사용하고 변경 사항을 확인하십시오


0

무료 온라인 https://www.diffchecker.com/diff도 있습니다.

그러나 이미지와 서식이없는 텍스트 차이 만 강조 표시합니다. 그리고 큰 파일에서 변경되지 않은 조각을 일치시키는 데 너무 약합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.