RML กับ Python ใช้งานร่วมกันยังไง

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

RML กับ Python ใช้งานร่วมกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

rml + python มีวิธีการเรียกใช้งานร่วมกันแบบง่ายๆไหมครับ

สมมุติว่า สั่งให้ python เรียกใช้งาน rml ออกมาในรูปแบบเอกสาร ประมาณนี้ครับ
รูปภาพ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: RML กับ Python ใช้งานร่วมกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

สร้างไฟล์ rml มา 1 ไฟล์ ในตัวอย่างคือ test.rml (ให้สร้างมาใน path เดียวกัน) พอรัน code python ข้างล่างมันจะสร้างไฟล์ test.pdf มา

.py

โค้ด: เลือกทั้งหมด

# -*- coding: utf-8 -*-
from z3c.rml import rml2pdf

with open('test.rml') as rml:
    data = rml.read()


pdf = rml2pdf.parseString(data.decode('utf-8'))

with open('test.pdf', 'w') as output:
    output.write(pdf.read())
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

Re: RML กับ Python ใช้งานร่วมกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

tatiya เขียน:สร้างไฟล์ rml มา 1 ไฟล์ ในตัวอย่างคือ test.rml (ให้สร้างมาใน path เดียวกัน) พอรัน code python ข้างล่างมันจะสร้างไฟล์ test.pdf มา

.py

โค้ด: เลือกทั้งหมด

# -*- coding: utf-8 -*-
from z3c.rml import rml2pdf

with open('test.rml') as rml:
    data = rml.read()


pdf = rml2pdf.parseString(data.decode('utf-8'))

with open('test.pdf', 'w') as output:
    output.write(pdf.read())
Error ครับ
รูปภาพ

ผมสร้างไฟล์ตามที่บอก

รูปภาพ
รูปภาพ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: RML กับ Python ใช้งานร่วมกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

น่าจะเพราะ rml ยังไม่มีโครงสร้างครับ

เอา code นี้ไปใส่

โค้ด: เลือกทั้งหมด

<?xml version="1.0" encoding="utf-8" standalone="no" ?> 
<!DOCTYPE document SYSTEM "rml_1_0.dtd">
<document filename="example.rml">
    <template pageSize="(21cm, 29.7cm)" leftMargin="72" showBoundary="0" title="example" allowSplitting="0">
        <pageTemplate id="main">
            <pageGraphics/>
        <frame id="first" x1="1cm" y1="2cm" width="19cm" height="26.7cm" showBoundary="0"/>
        </pageTemplate>
    </template>


    <stylesheet>
        <paraStyle 
            name="default"
            fontSize="7"
            leading="9"
            alignment="LEFT"
            textColor="black"
            />

        <paraStyle
            name="h1"
            parent="default"
            fontSize="12"
            leading="16"

            />

        <paraStyle
            name="h2"
            parent="default"
            fontSize="11"
            leading="16"
            textColor="#0059a0"
            />

        <paraStyle
            name="h1-center"
            parent="h1"
            alignment="CENTER"
            />
    </stylesheet>

    <story>
        <para style="h1-center"></para>
        <para style="h2"></para>

        <para style="default" alignment="center"></para>
        <para style="default" alignment="RIGHT"></para>
    </story>
</document>
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

Re: RML กับ Python ใช้งานร่วมกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

tatiya เขียน:น่าจะเพราะ rml ยังไม่มีโครงสร้างครับ

เอา code นี้ไปใส่

โค้ด: เลือกทั้งหมด

<?xml version="1.0" encoding="utf-8" standalone="no" ?> 
<!DOCTYPE document SYSTEM "rml_1_0.dtd">
<document filename="example.rml">
    <template pageSize="(21cm, 29.7cm)" leftMargin="72" showBoundary="0" title="example" allowSplitting="0">
        <pageTemplate id="main">
            <pageGraphics/>
        <frame id="first" x1="1cm" y1="2cm" width="19cm" height="26.7cm" showBoundary="0"/>
        </pageTemplate>
    </template>


    <stylesheet>
        <paraStyle 
            name="default"
            fontSize="7"
            leading="9"
            alignment="LEFT"
            textColor="black"
            />

        <paraStyle
            name="h1"
            parent="default"
            fontSize="12"
            leading="16"

            />

        <paraStyle
            name="h2"
            parent="default"
            fontSize="11"
            leading="16"
            textColor="#0059a0"
            />

        <paraStyle
            name="h1-center"
            parent="h1"
            alignment="CENTER"
            />
    </stylesheet>

    <story>
        <para style="h1-center"></para>
        <para style="h2"></para>

        <para style="default" alignment="center"></para>
        <para style="default" alignment="RIGHT"></para>
    </story>
</document>

ยัง error อยู่ครับ

รูปภาพ
รูปภาพ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: RML กับ Python ใช้งานร่วมกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

ลองปริ้น data ดูสิครับเอาไว้ก่อน Error นะ
print data
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

Re: RML กับ Python ใช้งานร่วมกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

tatiya เขียน:ลองปริ้น data ดูสิครับเอาไว้ก่อน Error นะ
print data
คราวนี้ error สลับกับ print data ครับ
รูปภาพ
รูปภาพ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: RML กับ Python ใช้งานร่วมกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

ใน Error มันบอกว่า syntax Error ตรง '<' ไลน์ 1 คอลัม 1 แปลว่าผิดที่ ไฟล rml
ลองเอาไฟล์นี้ไปรัน
แนบไฟล์
example.rml.zip
(638 ไบต์) ดาวน์โหลดแล้ว 116 ครั้ง
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 86