Как я могу автоматически заполнить текст в Scribus из текстового файла

2870
otmezger

Я использую Scribus для печати этикеток с серийными номерами для моих устройств. Есть ли способ, которым я могу автоматически читать и вставлять серийные номера, которые я хочу напечатать в Scribus из текстового файла (или даже из документа Google)?

Идея заключается в следующем: я определяю поля в Scribus и автоматически заполняю значения этих полей, формируя текстовый файл.

Это возможно?

1

3 ответа на вопрос

1
otmezger

I used python to edit the file.

 #!/usr/bin/python # this script populates the scribus template for the SN of FuelSpy # Olmo Mezger import re # regular expression import os.path #for os path operations #config myFile_Tempate = "SN_Template.sla" myFile_Out = "SN_Tier_01.sla" i_start = 1 i_number = 27*7 # check if file exists if os.path.isfile(myFile_Out): print 'aborting, output file exist and I dont want to overwrite it. Delete it manually if you want to continue', #quit() else: print 'continue' # f_in = open(myFile_Tempate, 'r') f_out =open(myFile_Out, 'w') # loop i = i_start for line in f_in: #print line myString = line if myString.find('%') == -1: # it does not have % f_out.write(myString) else: myNumber = '%0*d' % (4, i) myNewString = myString.replace('%',myNumber) #print myNewString f_out.write(myNewString) print i i = i+1 f_in.close() f_out.close() print "done" 
1
Larsen

There is also Scribus Generator that takes data from a CSV file and replaces variables inside Scribus documents. See http://wiki.scribus.net/canvas/Scribus_Generator

Если бы я только знал это раньше ... спасибо, но мой сценарий работает довольно хорошо :-) otmezger 11 лет назад 0
0
STTR

Scribus ITEXT read

ReadSerial.ps1:

$xmldata=[xml](gc 'C:\1\menu_template1.sla') ($xmldata.SelectNodes("/SCRIBUSUTF8NEW/DOCUMENT/PAGEOBJECT[@ANNAME='Text1232']/ITEXT/@CH")).itemof(0)."#text" 

выход:

Tested number 

WriteSerial.ps1:

$xmldata=[xml](gc 'C:\1\menu_template1.sla') $xmldata.SelectNodes("/SCRIBUSUTF8NEW/DOCUMENT/PAGEOBJECT[@ANNAME='Text1232']/ITEXT") | Set-Variable xmlnode  $xmlnode.SetAttribute("CH", "New Serial") $xmldata.Save('C:\1\menu_template1.sla') 

Scribus ITEXT write

Спасибо за ваш ответ. Я сделал скрипт на Python для этой задачи. Вы привели меня к мысли, что формат файла xml, поэтому я могу редактировать его через python. Вот мой сценарий: otmezger 11 лет назад 0

Похожие вопросы