class Waterpic_base64(BaseModel):
type : str
pdf_base64: str
pic_base64: str
text: str
@app.post('/api_watermark')
async def read_picwatermark(request: Waterpic_base64):
#ทำลายน้ำแบบรูป
if request.type == "JPG":
with open(r'C:\Users\fonfo\pdf-toolkits\pythonPDF.pdf', 'wb') as pdfFile:
pdfFile.write(base64.b64decode(request.pdf_base64))
with open(r'C:\Users\fonfo\pdf-toolkits\water.jpg', 'wb') as picFile:
picFile.write(base64.b64decode(request.pic_base64))
#ใส่การทำลายน้ำในส่วนนี้
#ทำลายน้ำแบบข้อความ
if request.type == "text":
with open(r'C:\Users\fonfo\pdf-toolkits\pythonPDF.pdf', 'wb') as pdfFile:
pdfFile.write(base64.b64decode(request.pdf_base64))
with open(r'C:\Users\fonfo\pdf-toolkits\text.txt', 'wb') as text:
text.write(base64.b64decode(request.text))
#ใส่การทำลายน้ำในส่วนนี้
return "ss"
@app.post('/api_watermark')
async def read_picwatermark(request: Waterpic_base64):
if request.type == "JPG":
with open(r'C:\Users\fonfo\pdf-toolkits\pythonPDF.pdf', 'wb') as pdfFile:
pdfFile.write(base64.b64decode(request.pdf_base64))
with open(r'C:\Users\fonfo\pdf-toolkits\water.jpg', 'wb') as picFile:
picFile.write(base64.b64decode(request.pic_base64))
pic = 'water.jpg'
pdf = 'pythonPDF.pdf'
c = canvas.Canvas(pdf)
c.drawImage(pic,15,15)
c.save()
ผลที่ได้
เมื่อทดสอบ API จะได้ไฟล์ PDF ที่มีภาพ ที่เรา Input แต่ไม่มีตัว ไฟล์ PDFที่ แปลงจาก base64 ค่ะ
ได้ไฟล์ PDF ที่มีภาพ.png (35.53 KiB) Viewed 808 times
เลยอยากถามว่าถ้าเราต้องการให้ไฟล์รูปที่เรา Input เข้าไปวางทับบน PDF เดิมที่แปลงจาก base64 ต้องปรับแก้โค้ดตรงไหนคะ
class Waterpic_base64(BaseModel):
type : str
pdf_base64: str
pic_base64: str
text: str
@app.post('/api_watermark')
async def read_picwatermark(request: Waterpic_base64):
#ทำลายน้ำแบบรูป
if request.type == "JPG":
with open(r'C:\Users\fonfo\pdf-toolkits\pythonPDF.pdf', 'wb') as pdfFile:
pdfFile.write(base64.b64decode(request.pdf_base64))
with open(r'C:\Users\fonfo\pdf-toolkits\water.jpg', 'wb') as picFile:
picFile.write(base64.b64decode(request.pic_base64))
#ใส่การทำลายน้ำในส่วนนี้
#ทำลายน้ำแบบข้อความ
if request.type == "text":
with open(r'C:\Users\fonfo\pdf-toolkits\pythonPDF.pdf', 'wb') as pdfFile:
pdfFile.write(base64.b64decode(request.pdf_base64))
with open(r'C:\Users\fonfo\pdf-toolkits\text.txt', 'wb') as text:
text.write(base64.b64decode(request.text))
#ใส่การทำลายน้ำในส่วนนี้
return "ss"
if request.type == "text":
with open(r'C:\Users\fonfo\pdf-toolkits\pythonPDF.pdf', 'wb') as pdfFile:
pdfFile.write(base64.b64decode(request.pdf_base64))
{'Text' : request.text}
@app.post('/api_watermark')
async def read_picwatermark(request: Waterpic_base64):
if request.type == "JPG":
with open(r'C:\Users\fonfo\pdf-toolkits\pythonPDF.pdf', 'wb') as pdfFile:
pdfFile.write(base64.b64decode(request.pdf_base64))
with open(r'C:\Users\fonfo\pdf-toolkits\water.jpg', 'wb') as picFile:
picFile.write(base64.b64decode(request.pic_base64))
pic = 'water.jpg'
pdf = 'pythonPDF.pdf'
c = canvas.Canvas(pdf)
c.drawImage(pic,15,15)
c.save()
ผลที่ได้
เมื่อทดสอบ API จะได้ไฟล์ PDF ที่มีภาพ ที่เรา Input แต่ไม่มีตัว ไฟล์ PDFที่ แปลงจาก base64 ค่ะ
ได้ไฟล์ PDF ที่มีภาพ.png
เลยอยากถามว่าถ้าเราต้องการให้ไฟล์รูปที่เรา Input เข้าไปวางทับบน PDF เดิมที่แปลงจาก base64 ต้องปรับแก้โค้ดตรงไหนคะ
จากที่ถามเรื่องนี้ไปค่ะ ทดลองใช้วิธีนี้สามารถให้ไฟล์รูปที่เรา Input เข้าไปวางทับบน PDF เดิมที่แปลงจาก base64 ได้ค่ะ