PyPDF2 在合并的 PDF 中给我空白页
PyPDF2 give me blank pages in merged PDF
我之前在这里提出过这个问题:
pypdf2-merging-pdf-pages-issue
我现在已经取得了长足的进步,现在可以通过 Pandas 从 Excel 文档创建我的 PDF 文件到 PyPDF2。
以及我现在必须拥有的页数。 PDF。
但是,我现在的问题是我合并的 PDF 文件现在是空白的。
如果我进行调试,那么我可以在我的第二个循环中看到它,它包含变量“路径”到我的物理 PDF 文件的正确路径。
但是当他们进来时:
with path.open('rb') as pdf:
pdf_writer.append(pdf)
然后突然一个额外的“”进入路径,这样一个路径可以命名为c:\users\....然后突然它被称为c:\users\...
不知道这是否是阻止文件被正确打开和读取,然后合并成一个 PDF 文件的原因。
希望有人能指导我,因为 python 因为我是自学的。
或者以其他方式可以向我解释为什么我创建了一些合并的 PDF 文件,这些文件在 3 页上突然空白。
我的代码是:
import datetime #Handle date
import pandas as pd #Handle data from Excel Sheet (Data analysis)
import PyPDF2 as pdf2 #Handle PDF read and merging
from pathlib import Path #Handle path
#Skip ERROR-message: Xref table not zero-indexed. ID numbers for objects will be corrected.
#import sys
#if not sys.warnoptions:
# import warnings
# warnings.simplefilter("ignore")
PDF_PATH = Path('C:/Users/TH/PDF/')
EXCEL_FILENAME = 'Resources/liste.xlsx'
def main():
today = datetime.date.today() # The date now
next_week = today.isocalendar()[1] + 1 # 0=Year, 1=week
resources = pd.read_excel(EXCEL_FILENAME, sheet_name='Ark1')
for row in resources.itertuples():
year = row.Aargang
paths = [
(PDF_PATH / row.Oevelse1).with_suffix('.pdf'),
(PDF_PATH / row.Oevelse2).with_suffix('.pdf'),
(PDF_PATH / row.Oevelse3).with_suffix('.pdf'),
]
pdf_writer = pdf2.PdfFileMerger()
for path in paths:
with path.open('rb') as pdf:
pdf_writer.append(pdf)
with open(f'Uge {next_week} - {year} Merged_doc.pdf', 'wb') as output:
pdf_writer.write(output)
if __name__ == '__main__':
main()
@anon01 谢谢
还有 Thx/credit 到 Sirius3。
它是关于 PyPDF2 的,如何使用它以及它的一些错误。
所以在编辑代码后,它就可以工作了。
import datetime #Handle date
import pandas as pd #Handle data from Excel Sheet (Data analysis)
from PyPDF2 import PdfFileMerger #Handle PDF read and merging
from pathlib import Path #Handle path
#Skip ERROR-message: Xref table not zero-indexed. ID numbers for objects will be corrected.
#import sys
#if not sys.warnoptions:
# import warnings
# warnings.simplefilter("ignore")
PDF_PATH = Path('C:/Users/TH/PDF')
EXCEL_FILENAME = 'Resources/liste.xlsx'
def main():
today = datetime.date.today() # The date now
next_week = today.isocalendar()[1] + 1 # 0=Year, 1=week
resources = pd.read_excel(EXCEL_FILENAME, sheet_name='Ark1')
for row in resources.itertuples():
year = row.Aargang
paths = [
(PDF_PATH / row.Oevelse1).with_suffix('.pdf'),
(PDF_PATH / row.Oevelse2).with_suffix('.pdf'),
(PDF_PATH / row.Oevelse3).with_suffix('.pdf'),
]
pdf_merger = PdfFileMerger()
for path in paths:
pdf_merger.append(str(path))
with open(f'Uge {next_week} - {year} Merged_doc.pdf', 'wb') as output:
pdf_merger.write(output)
pdf_merger.close()
if __name__ == '__main__':
main()
我之前在这里提出过这个问题: pypdf2-merging-pdf-pages-issue
我现在已经取得了长足的进步,现在可以通过 Pandas 从 Excel 文档创建我的 PDF 文件到 PyPDF2。
以及我现在必须拥有的页数。 PDF。 但是,我现在的问题是我合并的 PDF 文件现在是空白的。
如果我进行调试,那么我可以在我的第二个循环中看到它,它包含变量“路径”到我的物理 PDF 文件的正确路径。 但是当他们进来时:
with path.open('rb') as pdf:
pdf_writer.append(pdf)
然后突然一个额外的“”进入路径,这样一个路径可以命名为c:\users\....然后突然它被称为c:\users\...
不知道这是否是阻止文件被正确打开和读取,然后合并成一个 PDF 文件的原因。
希望有人能指导我,因为 python 因为我是自学的。 或者以其他方式可以向我解释为什么我创建了一些合并的 PDF 文件,这些文件在 3 页上突然空白。
我的代码是:
import datetime #Handle date
import pandas as pd #Handle data from Excel Sheet (Data analysis)
import PyPDF2 as pdf2 #Handle PDF read and merging
from pathlib import Path #Handle path
#Skip ERROR-message: Xref table not zero-indexed. ID numbers for objects will be corrected.
#import sys
#if not sys.warnoptions:
# import warnings
# warnings.simplefilter("ignore")
PDF_PATH = Path('C:/Users/TH/PDF/')
EXCEL_FILENAME = 'Resources/liste.xlsx'
def main():
today = datetime.date.today() # The date now
next_week = today.isocalendar()[1] + 1 # 0=Year, 1=week
resources = pd.read_excel(EXCEL_FILENAME, sheet_name='Ark1')
for row in resources.itertuples():
year = row.Aargang
paths = [
(PDF_PATH / row.Oevelse1).with_suffix('.pdf'),
(PDF_PATH / row.Oevelse2).with_suffix('.pdf'),
(PDF_PATH / row.Oevelse3).with_suffix('.pdf'),
]
pdf_writer = pdf2.PdfFileMerger()
for path in paths:
with path.open('rb') as pdf:
pdf_writer.append(pdf)
with open(f'Uge {next_week} - {year} Merged_doc.pdf', 'wb') as output:
pdf_writer.write(output)
if __name__ == '__main__':
main()
@anon01 谢谢
还有 Thx/credit 到 Sirius3。
它是关于 PyPDF2 的,如何使用它以及它的一些错误。 所以在编辑代码后,它就可以工作了。
import datetime #Handle date
import pandas as pd #Handle data from Excel Sheet (Data analysis)
from PyPDF2 import PdfFileMerger #Handle PDF read and merging
from pathlib import Path #Handle path
#Skip ERROR-message: Xref table not zero-indexed. ID numbers for objects will be corrected.
#import sys
#if not sys.warnoptions:
# import warnings
# warnings.simplefilter("ignore")
PDF_PATH = Path('C:/Users/TH/PDF')
EXCEL_FILENAME = 'Resources/liste.xlsx'
def main():
today = datetime.date.today() # The date now
next_week = today.isocalendar()[1] + 1 # 0=Year, 1=week
resources = pd.read_excel(EXCEL_FILENAME, sheet_name='Ark1')
for row in resources.itertuples():
year = row.Aargang
paths = [
(PDF_PATH / row.Oevelse1).with_suffix('.pdf'),
(PDF_PATH / row.Oevelse2).with_suffix('.pdf'),
(PDF_PATH / row.Oevelse3).with_suffix('.pdf'),
]
pdf_merger = PdfFileMerger()
for path in paths:
pdf_merger.append(str(path))
with open(f'Uge {next_week} - {year} Merged_doc.pdf', 'wb') as output:
pdf_merger.write(output)
pdf_merger.close()
if __name__ == '__main__':
main()