Предположим, у меня есть текстовый файл с именем barcodes.txt, который выглядит следующим образом:
some-13-digit-number
some-other-13-digit-number
Я хочу взять каждую строку из этого файла и вывести штрих-коды в файл .svg.Это я уже сделал с использованием штрих-кода:
import barcode as bc
import os
path = os.path.dirname(os.path.abspath(__file__))
read_file = 'barcode.txt'
lines = (line.rstrip('\n') for line in open(path+read_file))
i = 0
for line in lines:
image = bc.get_barcode_class('ean13')
image_bar = image(u'{}'.format(int(line))) # This is byte-data as I understand it.
barcode_file = open(path+'ean'+str(i)+'.svg', 'wb')
image_bar.write(barcode_file)
i += 1
Это работает просто отлично.Не берите в голову все пропущенные проверки входных данных, я много раздели, чтобы сделать это коротким и легко читаемым.
Проблема: Я хотел бы записать каждый штрих-код в один и тот же файл, вместо того, чтобы перебирать штрих-коды и записывать каждый в свой файл.Я попробовал очевидное, просто записав одно и то же имя файла, но это дает мне проблему с заголовком.Полученный svg-файл выглядит примерно так при проверке:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg
PUBLIC '-//W3C//DTD SVG 1.1//EN'
'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<svg height="23.000mm" version="1.1" width="44.000mm" xmlns="http://www.w3.org/2000/svg">
<!--Autogenerated with python-barcode 0.9.0-->
<g id="barcode_group">
<rect height="100%" style="fill:white" width="100%"/>
<rect height="15.000mm" style="fill:black;" width="0.330mm" x="6.500mm" y="1.000mm"/>
<rect height="15.000mm" style="fill:white;" width="0.330mm" x="6.830mm" y="1.000mm"/>
<rect height="15.000mm" style="fill:black;" width="0.330mm" x="7.160mm" y="1.000mm"/>
...
И если я записываю в тот же файл, этот заголовок повторяется для каждого записанного штрих-кода, что приводит к ошибке, а тем более ко всем штрих-кодам(прямоугольные элементы) перекрываются.Поэтому я ищу другое решение.Какие-либо предложения?Я открыт для использования другой библиотеки, если она соответствует требованию, что я могу извлечь все числа, из которых можно генерировать штрих-коды, из одного .txt-файла.