python - 使用python将tif文件转换为pdf
问题描述
嗨,我有一个包含多个 .tif 文件的文件夹,我正在尝试将这些文件转换为单个 pdf 文件。我正在尝试使用 python,因为它们超过 3000 个。我能够转换一个,但是在实现我发现的多个代码时给我一个错误“没有这样的文件或目录:”这是我的代码我正在使用,在此先感谢。
from PIL import Image
import os
directory = r'/Users/reynierDesktop/Drive/'
for filename in os.listdir(directory):
if filename.endswith(".tif"):
prefix = filename.split(".tif")[0]
im = Image.open(filename)
im.save(prefix+'.pdf')
else:
continue
我能够找到一些东西,它有点工作。它将 tif 文件转换为 pdf,但如果 tiff 文件超过 1 页,它只会转换第一个。知道如何解决这个问题吗?谢谢。
from PIL import Image
import os
def makePdf(imageDir, SaveToDir):
os.chdir(imageDir)
for j in os.listdir(os.getcwd()):
os.chdir(imageDir)
fname, fext= os.path.splitext(j)
newfilename = fname + ".pdf"
im = Image.open(fname + fext)
os.chdir(SaveToDir)
im.save(newfilename, "PDF", resolution = 100.0)
imageDir = r'my directory path'
SaveToDir = r'where to save them'
makePdf(imageDir, SaveToDir)
解决方案
jonathan,你的目录可能是 /Users/reynierDesktop/Drive/ 但你的文件名只是 something.tif (如果你打印出文件名,你可以看到这个)
所以当你 Image.open(filename) 时,你正在寻找 something.tif 而不是 /Users/reynierDesktop/Drive/something.tif
所以解决这个问题的一种方法是在使用 Image.open 时将目录与文件名连接起来,或者您可以先 cd 进入 /Users/reynierDesktop/Drive/ 然后只找到文件名,因为您位于正确的目录中。
推荐阅读
- webpack-5 - Webpack 5 共享块文件名
- shopify - 如何在shopify后台添加第三方加速结账方式
- excel - 将查找类型字段从 excel 导入 Power Apps Dataverse 时出现问题
- javascript - 如何将 JS 变量分配给 JSON 路由
- ios - 在 MacOS Big Sur 上找不到“openssl/conf.h”文件错误
- python - 如何使用python根据另一个excel表过滤一个excel中的行?
- gradle - 我希望有可能拥有一个带有 gradle 约定的 buildsrc 并构建一个多项目
- javascript - 如何结合非 AMD 代码构建 Dojo?
- vba - 仅获取 VBA 中的数值
- flutter - 如果我们在 App 中使用了很多插件,是否有机会减慢 Flutter 中的应用程序?