태그 보관물: scribus

scribus

텍스트 파일에서 Scribus의 텍스트를 자동으로 채우는 방법 인쇄하려는 일련 번호를 자동으로 읽고 Scribus에 삽입

Scribus를 사용하여 장치의 일련 번호가있는 레이블을 인쇄하고 있습니다. 텍스트 파일 (또는 Google 문서)에서 인쇄하려는 일련 번호를 자동으로 읽고 Scribus에 삽입 할 수있는 방법이 있습니까?

아이디어는 다음과 같습니다. Scribus에서 필드를 정의하고이 필드의 값을 텍스트 파일로 자동 채 웁니다.

이것이 가능한가?



답변

파이썬을 사용하여 파일을 편집했습니다.

    #!/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"


답변

CSV 파일에서 데이터를 가져 와서 Scribus 문서 내의 변수를 대체하는 Scribus Generator도 있습니다. http://wiki.scribus.net/canvas/Scribus_Generator를 참조 하십시오


답변

Scribus ITEXT 읽기

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 쓰기


답변