สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

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

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

User avatar
chatee supasand
PHP Super Hero Member
PHP Super Hero Member
Posts: 847
Joined: 04/06/2019 10:06 am

สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

Postby chatee supasand » 04/07/2019 1:37 pm

อยากเปิดไฟล์ PDF ในเครื่องขึ้นมาอะครับ ไม่ราบว่ามีคำสั่งอะไรไหมครับ
ภาษาไพทอน ครับ
Image

User avatar
jirawoot
PHP Super Hero Member
PHP Super Hero Member
Posts: 916
Joined: 17/06/2019 10:30 am

Re: สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

Postby jirawoot » 04/07/2019 1:58 pm

ขึ้นโชว์ในไหนครับ

User avatar
jirawoot
PHP Super Hero Member
PHP Super Hero Member
Posts: 916
Joined: 17/06/2019 10:30 am

Re: สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

Postby jirawoot » 04/07/2019 2:17 pm

จะแสดงบน browser

Code: Select all

from flask import Flask
from flask import send_file

app = Flask(__name__)

@app.route('/')
def index():
    pdfpath='pdf1_04072019.pdf'
    resp = send_file(pdfpath)
    resp.headers['Content-Disposition'] = "inline; filename=%s" % 'test.pdf'
    resp.mimetype = 'application/pdf'
    return resp

if __name__ == '__main__':
   app.run(debug=True)

User avatar
chatee supasand
PHP Super Hero Member
PHP Super Hero Member
Posts: 847
Joined: 04/06/2019 10:06 am

Re: สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

Postby chatee supasand » 04/07/2019 3:19 pm

ผมเปิดไฟล์ PDF ได้แล้วด้วยโค้ด

Code: Select all

import webbrowser
webbrowser.open_new(r'.\generate\5.pdf')


แต่พอผมเอาไปใส่ในคำสั่ง ใช้งานในหน้าอื่น
มันไม่เปิด PDF ขึ้นมาให้อะครับ เวลาผม กดแปลงไฟล์ ตามรูป ครับ

4652.png
4652.png (40.14 KiB) Viewed 170 times


Code: Select all

def addcode():

    try:
        if request.method == 'POST':
         name = request.form['filename']

         if name == '':
            for i in range(1):  # สุ่ม 1 ครั้ง
                a = random.randint(10000000,99999999) # ให้้สุ่มเลข
            name = 'RmlToPDF'+str(a)
         elif name != '':
            name = request.form['filename']

        des = request.form['description']
        code = request.form['rml']

        sql = "insert into genpdf (filename, description) values ('%s','%s')" % (name, des)
        sql = sql.encode('utf-8')
        cur.execute(sql)

        try:
            sql = "SELECT * FROM genpdf ORDER BY fileid DESC"
            cur.execute(sql)
            con.commit()
            new_row_id = cur.fetchone()[0]

            save_path = './rmllist/'    #สร้าง path สำหรับเก็บไฟล์
            field_rml_name = str(new_row_id) + str(name) + '.rml'
            path = os.path.join(save_path, field_rml_name)  #สร้าง ตัวแปร เพื่อทำการเก็บที่อยู่ของไฟล์

            f = open(path, 'w')
            f.write(code)
            f.close()

            print ('สร้างไฟล์สำเร็จ')

            d = open(path, 'r')
            data = d.read()
            d.close()

            pdf = rml2pdf.parseString(data.decode('utf-8'))
            open_path = str('./generate/')+ str(name) + str('.pdf') #สร้าง path เพื่อเปิดไฟล์ที่เก็บไว้
            a = open(open_path, 'w') #สร้างไฟล์ที่จากที่เก็บไว้ในตัว open_path
            a.write(pdf.read())
           
            webbrowser.open_new(r'.\generate\5.pdf') # ให้เปิดไฟล์ PDF +++++++++++++++++++++++++++++++++++++++
           
            print ('เพิ่มข้อมูล เรียบร้อยแล้ว')

            return '<br>' + '<META HTTP-EQUIV="Refresh" CONTENT="0;http://127.0.0.1:5000/show">'

        except:
            con.rollback()
            print('เพิ่มข้อมูล ผิดพลาด')



    except:
        print ('database Error')
Image

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

Re: สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

Postby tatiya » 04/07/2019 3:38 pm

ที่จริงก็ตาม คห3 ได้เลยนะครับ ถ้าโปรเซสคือ กด แปลงไฟล์ ให้เบราเซอร์ เปิดไฟล์ pdf ที่คุณแปลงจาก rml
ประมาณว่า ปุ่มแปลงไฟล์ ก็ action ไปที่เมดตรอดที่คุณสร้างไว้ แปลงไฟล์ >> save file >> นำ part วิ่งเข้าเมตรอดคุณ คห3 >> return headers pdf ออกมา
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 18688
Joined: 31/03/2014 10:02 am
Contact:

Re: สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

Postby thatsawan » 04/07/2019 3:41 pm

Code: Select all

from flask import send_file

 pdfpath
='pdf1_04072019.pdf'
    
resp send_file(pdfpath)
    
resp.headers['Content-Disposition'] = "inline; filename=%s" 'test.pdf'
    
resp.mimetype 'application/pdf' 

สังเกตุ จุดนี้ การเเสดง PDF บน browser จะต้องมี การกำหนด headers

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 18688
Joined: 31/03/2014 10:02 am
Contact:

Re: สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

Postby thatsawan » 04/07/2019 3:42 pm

การนำไฟล์ PDF มาแสดงบน web browser
viewtopic.php?f=144&t=58064

User avatar
chatee supasand
PHP Super Hero Member
PHP Super Hero Member
Posts: 847
Joined: 04/06/2019 10:06 am

Re: สอบถามครับ อยากเปิดไฟล์ PDF ในเครื่อง

Postby chatee supasand » 04/07/2019 4:21 pm

ผมลองใช้งานแล้ว
มันอ่านไฟล์แบบเรียลไทม์ไม่ได้อะครับ

คือผมต้องการสร้างไฟล์ PDF ขึ้นมาแล้วให้มันอ่านค่านั้นมาแสดงเลย
แต่มันทำไม่ได้อะครับ ตามรูปเลย

Code: Select all

 

            pdf = rml2pdf.parseString(data.decode('utf-8'))
            open_path = str('./generate/')+ str(name) + str('.pdf') #สร้าง path เพื่อเปิดไฟล์ที่เก็บไว้
            a = open(open_path, 'w') #สร้างไฟล์ที่จากที่เก็บไว้ในตัว open_path
            a.write(pdf.read())
            print ('เพิ่มข้อมูล เรียบร้อยแล้ว')
            pdfpath = ('./generate/2.pdf')  #ไฟล์ที่รออ่านค่า++++++++++++++++++++++++++++++++
            resp = send_file(pdfpath)
            resp.mimetype = 'application/pdf'
            return resp

what.png
what.png (35.13 KiB) Viewed 160 times

what1.png
what1.png (9.33 KiB) Viewed 160 times
Image


Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 12 guests