2010-06-12 45 views
2

有沒有辦法像郵件合併那樣將數據(9-15個字符長)轉換爲條形碼?即時通訊使用試圖使用OpenOffice的code128 calc,但由於某種原因,每10個字符串,條碼變得瘋狂,ascii告訴我註冊的網站,擴展名來自哪裏,我不想做將條形碼添加到pdfs

我還發現了一個oodraw,但需要手動輸入值。因爲即時通訊不熟悉宏,我不能寫的東西會做自動

什麼即時試圖做的是:

take an old pdf (only 1 page) 
covert it to word or picture or something 
add a function/macro/whatever to show a barcode 
     (whether or not the barcode shows in this file, i dont care), 
     given a string from excel data 
reconvert to separate pdfs 

or some other way that adds barcodes to pdfs 

所有其他自由程序,我發現不這樣做很好,因爲我不是一個真正的PDF人,我不會去購買隨機程序。我只需要這樣做一個大批量的數據

回答

1

這是一個方便花哨的字體稱爲IDAutomationHC39M,可以自由使用 - 以及有限制 - 但它寫入條形碼格式的文本。就那麼簡單。沒有腦子。 Barcode Font

2

我自己也遇到過類似的問題。使用python與reportlab和pyPdf,您可以將條碼(包括字符串標籤)放入模板pdf中。這裏是我的gitlab回購的鏈接與Python代碼:

https://github.com/glokem/barcodepdf

from pyPdf import PdfFileWriter, PdfFileReader 
import StringIO 
from reportlab.pdfgen import canvas 
from reportlab.lib.pagesizes import A4 
from reportlab.lib.units import mm 
from reportlab.graphics.barcode import code39 

此塊表示所有的Python來完成工作所需的進口。

string = '0000000' 
x_var=0 
y_var=10 

只是一些輕微的看家

packet = StringIO.StringIO() 

slab = canvas.Canvas(packet, pagesize=A4) 
slab.setFillColorRGB(0,0,0) 
barcode = code39.Extended39(string,barWidth=.5*mm,barHeight=10*mm, checksum=0) 
barcode.drawOn(slab, x_var*mm , y_var*mm) 
slab.setFont("Courier", 25) 
slab.drawString(40, 10, string) 

slab.save() 

此塊創建條形碼,將它放在「板」隨時可以變成一個PDF文件。注意mm單位,這可能不適合那些傾斜的帝國。

packet.seek(0) 
new_pdf = PdfFileReader(packet) 

existing_pdf = PdfFileReader(file("template.pdf", "rb")) 
output = PdfFileWriter() 


page = existing_pdf.getPage(0) 
page.mergePage(new_pdf.getPage(0)) 
output.addPage(page) 

outputStream = file("destination.pdf", "wb") 
output.write(outputStream) 
outputStream.close() 

這個塊是PDF創作魔術,我沒有完全理解。

隨着你的'template.pdf'已經到位,事情應該正常工作。這會在左下角放置00000000的條形碼。

非常感謝reportlab背後的人們,pyPdf提供了一個很棒的平臺!

編輯︰ 添加的代碼爲了清楚:感謝Amicable和Nico。

+1

請嘗試總結您的答案中的鏈接代碼,因爲未來的讀者不能依賴永遠保持的鏈接。 (例如,如果你刪除了你的github,那麼這個答案將會變得沒有意義) – Amicable 2014-03-25 12:14:24

+0

感謝Amicable和Nico im試圖弄清楚如何總結我的代碼而不寫20000字的文章。點雖然採取,並感謝您的反饋。 – glokem 2014-03-25 12:40:24

相關問題