텍스트 파일에서 Scribus의 텍스트를 자동으로 채우는 방법


1

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

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

이것이 가능한가?

답변:


1

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

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


0

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


답변 주셔서 감사합니다. 이 작업을 위해 파이썬 스크립트를 만들었습니다. 파일 형식이 xml이라는 아이디어를 얻었으므로 실제로 파이썬을 통해 편집 할 수 있습니다. 여기 내 스크립트가 있습니다 :
otmezger
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.