Python PyPDF2合并旋转页面
我正在使用PythonCanvas生成带有水印的覆盖文档,以将其合并到源pdf文档中(使用)。最近,我遇到了一个包含旋转页面的文档问题(/Rotate key用于pdf中的页面对象)。此文档在设备和打印机上看起来正常。但结果(合并)文档包含针对源文档旋转的水印 因此,源页面在pdf中具有下一个结构:Python PyPDF2合并旋转页面,python,pdf,pdf-generation,reportlab,pypdf,Python,Pdf,Pdf Generation,Reportlab,Pypdf,我正在使用PythonCanvas生成带有水印的覆盖文档,以将其合并到源pdf文档中(使用)。最近,我遇到了一个包含旋转页面的文档问题(/Rotate key用于pdf中的页面对象)。此文档在设备和打印机上看起来正常。但结果(合并)文档包含针对源文档旋转的水印 因此,源页面在pdf中具有下一个结构: 6 0 obj <</Length 45>> stream q 1 0 0 1 2 4 cm 799 0 0 603 0 0 cm /x5 Do Q endstream e
6 0 obj
<</Length 45>>
stream
q
1 0 0 1 2 4 cm
799 0 0 603 0 0 cm
/x5 Do
Q
endstream
endobj
7 0 obj
<</Type/Page/Parent 1 0 R
/Resources << /XObject << /x5 5 0 R >> >>
/MediaBox [0 0 792 612]
/Rotate 270/Contents 6 0 R
>>
endobj
对于rotation\u angle=270的这种方式,我得到了下一个结果:
对于旋转\u angle=0
(根本不关心旋转),我得到:
如何更改脚本以解决此问题?事实上,我发现了类似的问题和解决方案
所以我用下一种方法修改了代码
#合并源页面和水印页面
page0=source.getPage(0)
over0=overlay.getPage(0)
如果旋转角度:
page0.MergeRotatedRoundPointPage(
0多,,
旋转角,
超过0.mediaBox.getWidth()/2,
超过0.mediaBox.getWidth()/2)
#page0.mergeRotatedPage(叠加。getPage(0),旋转角度,真)
其他:
页面0.合并页面(超过0页)
方法执行此操作。这解决了我的问题,但是从v1.23开始,MergeRotatedRoundPointPage被重命名为mergeRotatedTranslatedPage。变更日志中没有提到这一点,以防其他人陷入困惑。见问题: