รับค่ามาแล้วแต่แปลงไฟล์ไม่ได้ครับ

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

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

ภาพประจำตัวสมาชิก
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

รับค่ามาแล้วแต่แปลงไฟล์ไม่ได้ครับ

โพสต์โดย teenproza7 » 25/05/2019 4:36 pm

ผมทำการรับค่ามาแล้วเก็บไว้ในตัวแปร เพื่อทำการสร้างไฟล์ แต่ไม่สามารถสร้างได้
code

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

        if request.method == 'POST':

            name = request.form['filename']
            des = request.form['description']
            code = request.form['rml']
            print code
            try:
                with open(code) as rml:
                    data = rml.read()

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

                with open('code.pdf', 'w') as output:
                    output.write(pdf.read())

            except:
                     print('แปลงไฟล์ผิดพลาด')


bug

127.0.0.1 - - [25/May/2019 16:31:20] "GET / HTTP/1.1" 200 -
<!DOCTYPE document SYSTEM "rml.dtd">
<document filename="example1.pdf">
<template>
<!--this section contains elements of the document -->
<!--which are FIXED into position. -->
<pageTemplate id="main">
<frame id="first" x1="100" y1="400" width="150" height="200"/>
</pageTemplate>
</template>
<stylesheet>
</stylesheet>
<story>

<para>
Welcome to RML!
</para>

</story>
</document>
แปลงไฟล์ผิดพลาด
รูปภาพ

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 16821
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: รับค่ามาแล้วแต่แปลงไฟล์ไม่ได้ครับ

โพสต์โดย thatsawan » 25/05/2019 4:41 pm

ไม่เข้าใจ แปลงไฟล์คืออะไร

ภาพประจำตัวสมาชิก
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

Re: รับค่ามาแล้วแต่แปลงไฟล์ไม่ได้ครับ

โพสต์โดย teenproza7 » 25/05/2019 4:49 pm

thatsawan เขียน:ไม่เข้าใจ แปลงไฟล์คืออะไร


แปลงไฟล์จาก โค้ด rml ที่ log มาได้เป็น pdf ครับ
รูปภาพ


ภาพประจำตัวสมาชิก
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

Re: รับค่ามาแล้วแต่แปลงไฟล์ไม่ได้ครับ

โพสต์โดย teenproza7 » 25/05/2019 7:22 pm

ได้แล้วครับ โดยทำการ เก็บค่าที่ได้รับมาไว้ในตัวแปร จากนั้นให้ตัวแปรสร้างไฟล์ code.rml ขึ้นมา จากนั้นสร้างตัวแปรขึ้นมาอ่าน ไฟล์ code.rml ที่สร้างไว้
แล้วก็สร้างตัวแปรขึ้นมาอีกทีเพื่อแปลงไฟล์ ดังในโค้ด

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

code = request.form['rml']

            try:
                f = open('code.rml', 'w')
                f.write(code)
                f.close()
               
                print ('สร้างไฟล์สำเร็จ')

                try:
                    d = open('code.rml', 'r')
                    data = d.read()
                    d.close()

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

                    a = open('test.pdf', 'w')
                    a.write(pdf.read())

                    print ('แปลงไฟล์สำเร็จ')


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

a = open('test.pdf', 'w')
a.write(pdf.read())

ส่วนนี้คือ โค้ดที่อ่านไฟล์และแปลงข้อมูล จากนั้นเอาข้อมูลนั้นมาสร้างเป็น test.pdf
รูปภาพ

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 20747
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: รับค่ามาแล้วแต่แปลงไฟล์ไม่ได้ครับ

โพสต์โดย mindphp » 25/05/2019 7:33 pm

สร้างไฟล์ rml กับการเขียนไฟล์ คนละเรื่องกัน นะครับ
สร้างไฟล์ pdf ต้องใช้ โมดูลพิเศษ rml2pdf ซึ่งไม่สามารถเปิด ด้วย ระบบไฟล์ธรรมดาได้

แต่ถ้าสร้างไฟล์ text ธรรมดา จะใช้ ตามกระทู้นี้
viewtopic.php?p=152869#p152869
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 14 และ บุคคลทั่วไป 0 ท่าน