(На самом деле это не ответ, а лишь анализ биту для комментария.)
Я не знаю pyPdf (или python PDF classes), но вот как создается водяной знак для ввода образца; основанный на этом, любой, кто знает pyPDF достаточно хорошо, может легче советовать.
Раундап
В зависимости от того, как pyPDF (или другие классы питона PDF) позволяет получить доступ к содержимому страницы, есть два основных основных подхода:
Если класс возвращает информацию о содержимое (текст и изображение) в своем порядке в потоке содержимого страницы: изображение xobject водяного знака передается прямо перед данными записи. Таким образом, отмечена любая запись, предшествующая рисунку изображения xobject.
Если в противном случае информация не указана в порядке, указанном в потоке содержимого страницы, необходимо использовать сравнение координат, которое само по себе довольно прямолинейно. В этом случае может быть интересно, что изображения вставляются с матрицей преобразования [0,1 0 0 0,1 0 0] в действие, в то время как текст рисуется с матрицей преобразования идентичности.
ПОДРОБНО.Подробнее
Это запись # 200; другая водяными запись строится аналогично:
водяных знаков производится с помощью XObject изображения. Существует только один 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
В потоке контента это XObject /R17 вставляется непосредственно перед данными записи сам обращается:
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
Скорее всего, решение будет зависеть от самой структуры ваших PDF-файлов. Не могли бы вы предоставить образец? – mkl
Вот ссылка на PDF-файл образец https://docs.google.com/file/d/0BzbpFYSySNBZNnJIUXk0VFdweFE/edit?usp=sharing – sulabh
Также с помощью pdftops на убунт я получил файл пса, как https://docs.google ,ком/файл/d/0BzbpFYSySNBZYmVKN25uU1JxTGs/редактировать? УСП = обмен – sulabh