2013-06-09 4 views
0

우분투입니다.pdf에서 워터 마크 감지 위치

페이지가 눈금으로 나뉘어있는 PDF 파일이 있습니다. 그리드의 각 블록에는 후보자의 이름/나이/dob/사진이 들어 있습니다. 일부 기록에는 워터 마크가 "실격 처리"되어 있습니다.

실격 된 후보자와 함께 자신의 pdf를 다듬을 필요가 있습니다. pyPdf를 사용하여 개별 레코드를 얻을 수 있었지만 워터 마크가있는 후보도 포함되었습니다.

워터 마크를 감지하는 방법은 무엇입니까? 워터 마크의 좌표를 얻을 수 있다면 어떻게 후보와 일치시킬 수 있습니까? 내가 파이썬 pyPdf 이외의 다른 솔루션에 개방입니다

+1

대부분의 해결책은 pdfs의 구조에 달려 있습니다. 따라서 샘플을 공급할 수 있습니까? – mkl

+0

다음은 PDF 샘플 에 대한 링크입니다 https://docs.google.com/file/d/0BzbpFYSySNBZNnJIUXk0VFdweFE/edit?usp=sharing – sulabh

+0

또한 우분투에서 pdftops를 사용하면 ps 파일이 https://docs.google .co.kr/file/d/0BzbpFYSySNBZYmVKN25uU1JxTGs/edit? usp = sharing – sulabh

답변

1

는 (사실이 대답하지만, 단지 의견에 대한 비트 분석하지 않습니다.)

내가 pyPdf를 모르는 (또는 python PDF 클래스).하지만 여기에는 샘플 항목에 대해 워터 마크가 작성되는 방법이 나와 있습니다. 이것을 바탕으로 누구나 pyPDF를 잘 알고 있다면 더 쉽게 조언을 얻을 수 있습니다.

검거

pyPDF (또는 다른 파이썬 PDF 클래스) 페이지 콘텐츠에 대한 액세스를 허용하는 방법에 따라 두 가지 기본적인 방법이 있습니다 : 클래스 정보가 반환하는 경우

  1. 은 페이지 콘텐츠 스트림에서 콘텐츠 (텍스트 및 이미지)가 순서대로 표시됩니다. 워터 마크 이미지 x 객체는 항목의 데이터 바로 앞에 나타납니다. 따라서 xobject 이미지의 그림이 앞에 오는 모든 항목이 표시됩니다.

  2. 정보가 페이지 콘텐츠 스트림에 표시된 순서대로 제공되지 않으면 그 자체로 매우 직설적 인 좌표 비교를 사용해야합니다. 이 경우 이미지가 항등 변환 행렬로 그려지는 동안 [0.1 0 0 0.1 0 0] 변형 행렬이 삽입되어 삽입되는 것이 중요 할 수 있습니다.

세부

이 항목 # 200; 다른 워터 마크 항목은 유사하게 구성된다

dataset 200 with DELETED watermark

워터 마킹은 이미지 XObject에 의해 수행된다.

4 0 obj 
<</Type/Page/MediaBox [0 0 595 841] 
/Rotate 0/Parent 3 0 R 
/Resources<</ProcSet[/PDF /ImageC /ImageI /Text] 
    /ColorSpace 18 0 R 
    /ExtGState 19 0 R 
    /XObject 20 0 R 
    /Font 21 0 R 
    >> 
/Contents 5 0 R 
>> 
endobj 
20 0 obj 
<</R17 
17 0 R>> 
endobj 
17 0 obj 
<</Subtype/Image 
/ColorSpace 16 0 R 
/Width 128 
/Height 88 
/BitsPerComponent 8 
/Filter/FlateDecode/Length 463>>stream 
[...] 
endstream 
endobj 

콘텐츠 스트림에서/R17 바로 자체 그려진 항목의 데이터 전에 삽입 이 XObject :

q 0.1 0 0 0.1 0 0 cm 
[...] 
q 1045 0 0 495 462.5 6510.5 cm 
/R17 Do 
Q 
q 
10 0 0 10 0 0 cm BT 
0.000487366 Tc 
/R10 8 Tf 
1 0 0 1 86 650.75 Tm 
(Sex : Male)Tj 
0.000304794 Tc 
-64 0 Td 
(Age : 43)Tj 
-0.000140686 Tc 
-1 11.05 Td 
(House No :)Tj 
-0.00002085 Tc 
1 31.95 Td 
(Name :)Tj 
0.00008575 Tc 
/R12 7.15 Tf 
25.5 17.8 Td 
(200)Tj 
ET 
Q 
1547.5 6475 485 535.5 re 
S 
q 
10 0 0 10 0 0 cm BT 
-0.000403137 Tc 
/R14 8 Tf 
1 0 0 1 145.1 708.5 Tm 
(XVX0001081)Tj 
0.000421651 Tc 
/R14 7.05 Tf 
-90.35 -14.95 Td 
(Ramesh Kumar)Tj 
0.000373332 Tc 
/R10 7.05 Tf 
-33 -12.75 Td 
(Father's)Tj 
0.000193787 Tc 
7.3 TL 
(Name)' 
0.00037774 Tc 
/R14 7.05 Tf 
40.25 1.8 Td 
(Ram Singh)Tj 
0 Tc 
2.5 -11.85 Td 
(37)Tj 
0.00137196 Tc 
/R12 7.15 Tf 
-5.25 13.35 Td 
(:)Tj 
모두 매립 항목에 의해 사용되는 페이지에 대해 정의 된 하나의 이미지 XObject에 제외한있다