Python 从pdf中删除打印机裁剪标记
我有一些PDF文件,我需要从中删除打印标记或裁剪标记,有没有办法使用PyPDF2或任何类似的软件包Python 从pdf中删除打印机裁剪标记,python,pypdf2,pypdf,Python,Pypdf2,Pypdf,我有一些PDF文件,我需要从中删除打印标记或裁剪标记,有没有办法使用PyPDF2或任何类似的软件包 我不想裁剪页面的内部可打印面,我想找到marks对象并将其从页面中删除。您可以尝试使用pyqt5编写的PrintManager 我正在使用类似这样的方法来删除裁剪页面的cropmarks def pdf_get_num_pages(pdf_input): pdf_file = PdfFileReader(open(pdf_input, 'rb')) pages = pdf_file.getN
我不想裁剪页面的内部可打印面,我想找到marks对象并将其从页面中删除。您可以尝试使用pyqt5编写的PrintManager 我正在使用类似这样的方法来删除裁剪页面的cropmarks
def pdf_get_num_pages(pdf_input):
pdf_file = PdfFileReader(open(pdf_input, 'rb'))
pages = pdf_file.getNumPages()
return pages
def pdf_cropper(pdf_input,outputpdf,pages):
pdf_file = PdfFileReader(open(pdf_input, 'rb'))
output = PdfFileWriter()
for i in range(pages):
page = pdf_file.getPage(i)
# print ('TRIMBOX'+ str(i) + ':' +str(page.trimBox))
# print ('CROPBOX'+ str(i) + ':' +str(page.cropBox))
# print ('cropbox to crop' + str(cropboxes[0]))
page.cropBox.upperLeft = (page.trimBox[0], page.trimBox[1])
page.cropBox.lowerRight = (page.trimBox[2], page.trimBox[3])
page.mediaBox.upperLeft = (page.trimBox[0], page.trimBox[1])
page.mediaBox.lowerRight = (page.trimBox[2], page.trimBox[3])
# print ('output cropbox XXXX' +str(page.cropBox))
output.addPage(page)
def remove_cropmarks_mod(pdf_input,multipage):
head, ext = os.path.splitext(pdf_input)
outputpdf = head + '_crop' + ext
pages = pdf_get_num_pages(pdf_input)
pdf_cropper(pdf_input,outputpdf,pages)
if __name__ == '__main__':
pdf_input = '/Users/xxx/Desktop/file.pdf'
remove_cropmarks_mod(pdf_input,multipage=True)