2014-10-20 97 views

回答

1

如果您將PNG文件導出到某個地方,您可以輕鬆地再次讀取它們並將其打印到PDF中。有一個名爲reportlab的庫,它很棒,因爲它支持圖像繪製。

所以我在這裏提供了一個示例代碼:

我生成一個PNG文件,那麼我將其拖到畫布,你可以改變大小和分組,只要你喜歡。

from reportlab.pdfgen import canvas 
from reportlab.lib.units import inch, cm 

#Create A QR-Code 
import qrcode 
qr = qrcode.QRCode(
    version=1, 
    error_correction=qrcode.constants.ERROR_CORRECT_L, 
    box_size=10, 
    border=4, 
) 
qr.add_data('Some data') 
qr.make(fit=True) 

img = qr.make_image() 
image_file = open("test.png",'w+') 
img.save(image_file, "PNG") 

#Draw the generated Code on a PDF Canvas 
c = canvas.Canvas('ex.pdf') 

#Add Single Images 
#c.drawImage('test.png', 0, 0, 10*cm, 10*cm) 
#c.drawImage('test.png', 10*cm, 10*cm, 10*cm, 10*cm) 

#Add Images in a loop 
for x in range (0, 3): 
for y in range (0, 3): 
    c.drawImage('test.png', x*10*cm, y*10*cm, 10*cm, 10*cm) 

c.showPage() 
c.save() 
+0

你可以在使用reportlab在mac上安裝問題運行,這篇文章可以解決這個問題http://stackoverflow.com/questions/2252726/how-to-create-pdf-files-in-python。 – user1767754 2014-10-20 21:10:40

+0

現在剩下的唯一問題就是將畫布放在一張紙上,用一張紙做出確切數量的圖像,謝謝,順便說一句,這裏的窗口安裝http://www.lfd.uci.edu/~gohlke/pythonlibs/ #reportlab – Abdelouahab 2014-10-20 21:43:54

+1

當您知道您的qr代碼縮略圖的確切大小時,可以非常輕鬆地完成此操作。只需介紹兩個for循環一個用於x和y – user1767754 2014-10-21 05:49:55

1

創建你所需要的總大小的圖像,然後使用paste每個QR圖像放到主。 box參數用於指定在主圖像中定位QR的左上角座標。

+0

有多少我可以得到它?我覺得有限?因爲我必須使用主人作爲相對來源?或者我可以創造一個距離爲2倍的價值? – Abdelouahab 2014-10-20 21:55:49

+0

@Abdelouahab使主人成爲一張紙的大小(或者可能會少一些),並且您可以放置​​紙張的大小。 – 2014-10-20 22:06:18

+0

對不起,我誤解了這個想法,我想我使用第一個圖像,然後追加到她,而不是追加到一個空白的圖片,並填充所有生成的圖像,再次感謝你:) – Abdelouahab 2014-10-20 22:11:22