如何在 Python 中将多页 PDF 转换为每个 pdf 页面的 PNG 图像
How do I convert a multiple paged PDF into a PNG image per pdf page in Python
业余 Python 开发人员。我正在做一个项目,我使用多个 PDf,每个都有不同数量的页面(1-20ish),然后将它们转换为 PNG 文件以便稍后与 pytesseract 一起使用。
我在一个有 3 页的测试 pdf 上使用 pdf2image 和 poppler。问题是它只将 PDF 的最后一页转换为 PNG。我想“也许程序正在为每个 pdf 页面创建相同的文件名,并且每次迭代都会重写文件,直到只剩下最后一个 pdf 页面”所以我尝试编写程序,以便它会在每次迭代时更改文件名.这是代码。
from pdf2image import convert_from_path
images = convert_from_path('/Users/jacobpatty/vscode_projects/badger_colors/test_ai/10254_Craigs_Plumbing.pdf', 200)
file_name = 'ping_from_ai_test.png'
file_number = 0
for image in images:
file_number =+ 1
file_name = 'ping_from_ai_test' + str(file_number) + '.png'
image.save(file_name)
这在两个方面都失败了。它只制作了 2 个 png 文件('ping_from_ai_test.png' 和 'ping_from_ai_test1.png'),而不是 3 个,当我点击 png 文件时,它们都只是最后一个 pdf 页面。我现在不知道该怎么办,有什么想法吗?
据我所知,您的代码只输出一个文件。问题是你的代码有错别字。
行
file_number =+ 1
实际上是一个赋值:
file_number = (+1)
这应该是
file_number += 1
试试这个而不是为图像中的图像做:
for n in range(len(images)):
images[n].save('test' + str(n) + '.png')
这样行吗?
业余 Python 开发人员。我正在做一个项目,我使用多个 PDf,每个都有不同数量的页面(1-20ish),然后将它们转换为 PNG 文件以便稍后与 pytesseract 一起使用。
我在一个有 3 页的测试 pdf 上使用 pdf2image 和 poppler。问题是它只将 PDF 的最后一页转换为 PNG。我想“也许程序正在为每个 pdf 页面创建相同的文件名,并且每次迭代都会重写文件,直到只剩下最后一个 pdf 页面”所以我尝试编写程序,以便它会在每次迭代时更改文件名.这是代码。
from pdf2image import convert_from_path
images = convert_from_path('/Users/jacobpatty/vscode_projects/badger_colors/test_ai/10254_Craigs_Plumbing.pdf', 200)
file_name = 'ping_from_ai_test.png'
file_number = 0
for image in images:
file_number =+ 1
file_name = 'ping_from_ai_test' + str(file_number) + '.png'
image.save(file_name)
这在两个方面都失败了。它只制作了 2 个 png 文件('ping_from_ai_test.png' 和 'ping_from_ai_test1.png'),而不是 3 个,当我点击 png 文件时,它们都只是最后一个 pdf 页面。我现在不知道该怎么办,有什么想法吗?
据我所知,您的代码只输出一个文件。问题是你的代码有错别字。
行
file_number =+ 1
实际上是一个赋值:
file_number = (+1)
这应该是
file_number += 1
试试这个而不是为图像中的图像做:
for n in range(len(images)):
images[n].save('test' + str(n) + '.png')
这样行吗?