Я сам сталкивался с подобной проблемой. Используя 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. Обратите внимание, мм единицы, это может не подходить тем имперским склонным.
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 за предоставленную здесь замечательную платформу!
Edit:
Код добавлен для ясности: спасибо Amicable и Nico.