我想将现有pdf文档的所有页面向右移动一英寸,这样它们就可以在不影响内容的情况下打三个孔。pdf文档已经生成,因此无法更改生成方式。
似乎iText可以从previous question完成此操作。
C++或Python的等价库(或实现方法)是什么?
如果它是平台相关的,我需要一个将在Linux上工作。
**更新:**我想我会发布一个小脚本,我写了这样做的情况下,其他人发现这个页面,并需要它。
工作代码感谢斯科特安德森的建议:
rightshift.py
#!/usr/bin/python2
import sys
import os
from pyPdf import PdfFileReader, PdfFileWriter
#not sure what default user space units are.
# just guessed until current document i was looking at worked
uToShift = 50;
if (len(sys.argv) < 3):
print "Usage rightshift [in_file] [out_file]"
sys.exit()
if not os.path.exists(sys.argv[1]):
print "%s does not exist." % sys.argv[1]
sys.exit()
pdfInput = PdfFileReader(file( sys.argv[1], "rb"))
pdfOutput = PdfFileWriter()
pages=pdfInput.getNumPages()
for i in range(0,pages):
p = pdfInput.getPage(i)
for box in (p.mediaBox, p.cropBox, p.bleedBox, p.trimBox, p.artBox):
box.lowerLeft = (box.getLowerLeft_x() - uToShift, box.getLowerLeft_y())
box.upperRight = (box.getUpperRight_x() - uToShift, box.getUpperRight_y())
pdfOutput.addPage( p )
outputStream = file(sys.argv[2], "wb")
pdfOutput.write(outputStream)
outputStream.close()
5条答案
按热度按时间igetnqfo1#
你可以试试pypdf库。在2022年,PyPDF2被合并回了pypdf。
bgibtngc2#
在Linux中执行此任务的两种方法
选项=
X偏移= 0
Y偏移= 0
更改X轴的值,设置一个方便的值(值以附言点为单位,1英寸=72附言点)
因此:
选项=
X偏移= 72
Y偏移= 0
现在对偶数页重复相同的步骤
选项=
X偏移= -72
Y偏移= 0
现在你需要到mix这两个pdf与奇数和偶数页
您可以使用:
java -jar ./pdf-transformer-0.4.0.jar <INPUT_FILE_NAME1> <INPUT_FILE_NAME2> <OUTPUT_FILE_NAME> merge -j
pdftk file.pdf cat 1-endodd output odd.pdf && pdftk file.pdf cat 1-endeven output even.pdf
podofobox file.pdf odd.pdf crop -3600 0 widht height
用于奇数页和podofobox file.pdf even.pdf crop 3600 0 widht height
用于偶数页./podofobox file.pdf odd.pdf crop -3600 0 48200 68000
./podofobox file.pdf even.pdf crop 3600 0 48200 68000
然后你可以把奇数和偶数混合在一个唯一的文件中
xienkqul3#
对于
pdfjam
,将所有页面向右平移1英寸的命令为转换后的文档将保存到
doc-pdfjam.pdf
。要查看更多选项,请键入pdfjam --help
。当前pdfjam
需要类似Unix的命令提示符(Linux、Mac或Cygwin)。在Ubuntu中,可以使用安装jqjz2hbq4#
这不是一个完整的答案,但您可以将LaTeX与pdfpages一起使用:http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages/
许多命令行linux工具也使用这种方法,例如pdfjam就使用这种方法:http://www2.warwick.ac.uk/fac/sci/statistics/staff/academic-research/firth/software/pdfjam
也许pdfjam已经可以提供你所需要的了。
7uhlpewt5#
下面是python3.x的修改版本。
首先通过
pip install pypdf2
安装pypdf2