批量将jpg转pdf
Batch conversion of jpg to pdf
我有大量的 jpeg 文件,每个文件都是历史文档中一页的照片。现在我想(批量)从这些文件中创建 pdf 文件,最好将代表一个文档的那些文件制作成单独的 pdf 文件,页面顺序正确。文件名是这样构造的 "date y p id optional.jpg" 其中 y 是 运行 数字,如果几个文档具有相同的日期,p 是页码,id 是来自相机的照片的编号,最后有时是可选的并包含文档的可选信息。所有部分都由 space 分隔。
我希望找到使用内置 Microsoft PDF 编写器的可能性,但还没有为此找到命令行界面。我当然可以从目录列表中制作脚本,只是我知道要为其制作脚本的应用程序的命令行界面。如果创建的 pdf 文件的每一页都可以包含文件名的一部分,那就更好了。
如果您不反对 python 脚本,则有一个名为 img2pdf 的图像到 pdf 库。可以找到 PyPi link here,我很乐意为您编写一个快速脚本
编辑:
可以找到教程 here
编辑 2:
这应该做
## Import libraries ##
import img2pdf, os
from Pillow import Image
# sets an empty list var to store the dir
dirofjpgs = "PUT DIRECTORY HERE" # formatting is C:\User not C:\User\
pathforpdfs = "PUT DIRECTORY HERE"
# change dir to working dir
os.chdir(dirofjpgs)
NameOfFiles = []
# sets and empty list to store the names of files
ExtOfFiles = []
# sets and empty list to store the names and extentions of files
self_file = os.path.basename(__file__)
for i in range(1, len(os.listdir(os.curdir))): # for every item in the current dir
if (os.path.splitext((os.listdir(os.curdir))[i])[1]) != ".ini": # if the item ends doesnt end in .ini which is a windows file
NameOfFiles.append(os.path.splitext((os.listdir(os.curdir))[i])[0]) # adds the Name of the file into the NameOfFiles list
ExtOfFiles.append(os.path.splitext((os.listdir(os.curdir))[i])[1]) # adds the Name and Extention of the file into the ExtOfFiles list
# for every item in the nameoffiles list
for i in range(len(NameOfFiles)):
# open image with pillow
image = Image.open(NameOfFiles[i], ExtOfFiles[i])
# convert with img2pdf
pdf_values = img2pdf.convert(image.filename)
# save as pdf in dir
file = open(pathforpdfs, "wb")
file.write(pdf_values)
#close
image.close()
file.close()
print(str(i+1), "/", len(NameOfFiles))
mg2pdf-模块/
我有大量的 jpeg 文件,每个文件都是历史文档中一页的照片。现在我想(批量)从这些文件中创建 pdf 文件,最好将代表一个文档的那些文件制作成单独的 pdf 文件,页面顺序正确。文件名是这样构造的 "date y p id optional.jpg" 其中 y 是 运行 数字,如果几个文档具有相同的日期,p 是页码,id 是来自相机的照片的编号,最后有时是可选的并包含文档的可选信息。所有部分都由 space 分隔。 我希望找到使用内置 Microsoft PDF 编写器的可能性,但还没有为此找到命令行界面。我当然可以从目录列表中制作脚本,只是我知道要为其制作脚本的应用程序的命令行界面。如果创建的 pdf 文件的每一页都可以包含文件名的一部分,那就更好了。
如果您不反对 python 脚本,则有一个名为 img2pdf 的图像到 pdf 库。可以找到 PyPi link here,我很乐意为您编写一个快速脚本
编辑: 可以找到教程 here
编辑 2: 这应该做
## Import libraries ##
import img2pdf, os
from Pillow import Image
# sets an empty list var to store the dir
dirofjpgs = "PUT DIRECTORY HERE" # formatting is C:\User not C:\User\
pathforpdfs = "PUT DIRECTORY HERE"
# change dir to working dir
os.chdir(dirofjpgs)
NameOfFiles = []
# sets and empty list to store the names of files
ExtOfFiles = []
# sets and empty list to store the names and extentions of files
self_file = os.path.basename(__file__)
for i in range(1, len(os.listdir(os.curdir))): # for every item in the current dir
if (os.path.splitext((os.listdir(os.curdir))[i])[1]) != ".ini": # if the item ends doesnt end in .ini which is a windows file
NameOfFiles.append(os.path.splitext((os.listdir(os.curdir))[i])[0]) # adds the Name of the file into the NameOfFiles list
ExtOfFiles.append(os.path.splitext((os.listdir(os.curdir))[i])[1]) # adds the Name and Extention of the file into the ExtOfFiles list
# for every item in the nameoffiles list
for i in range(len(NameOfFiles)):
# open image with pillow
image = Image.open(NameOfFiles[i], ExtOfFiles[i])
# convert with img2pdf
pdf_values = img2pdf.convert(image.filename)
# save as pdf in dir
file = open(pathforpdfs, "wb")
file.write(pdf_values)
#close
image.close()
file.close()
print(str(i+1), "/", len(NameOfFiles))
mg2pdf-模块/