簡體   English   中英

Python 3 img2pdf pdf 中圖像的錯誤順序

[英]Python 3 img2pdf wrong order of images in pdf

我正在開發一個小程序,該程序從網站上獲取圖像並將它們放入 pdf 中,以便於訪問和更簡單的查看。 我有一個小問題,因為 img2pdf 模塊似乎以錯誤的順序將圖像放入 pdf 中,我真的不明白為什么。

它似乎將文件按 1,10,11 的順序排列。

import urllib.request
import os
import img2pdf


n = 50
all = 0
for counter in range(1,n+1):
      all = all + 1
      urllib.request.urlretrieve("https://website/images/"+str(all)+".jpg", "img"+str(all)+".jpg")


cwd = os.getcwd()
if all == 50:
      with open("output2.pdf", "wb") as f:
            f.write(img2pdf.convert([i for i in os.listdir(cwd) if i.endswith(".jpg")]))

在看不到您嘗試讀入的文件名的情況下,猜測是您的文件名包含未用零填充的數字。 名為0.jpg1.jpg 、 ... 11.jpg的一系列文件的字典順序(按字母順序排序)將導致以下順序: 0.jpg1.jpg10.jpg11.jpg2.jpg3.jpg4.jpg5.jpg6.jpg7.jpg8.jpg9.jpg ,因為“1”<“2”。

要合並您的文件,使 2 在 10 之前出現,您可以對文件名進行零填充(但也要注意,某些軟件會將前導零解釋為數字的八進制表示形式的指示符,而不僅僅是前導零。)

如果你不能操作文件名,那么你可以改變你的文件獲取代碼如下:使用正則表達式從整個文件列表的文件名中提取數字,作為int類型,然后對文件名列表進行排序通過那些提取的數字(將被排序為int ,其中 2 < 10)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM