fork download
  1. # แก้ header ไม่ให้เรียกใช้ฟอนต์ที่ไม่ได้ประกาศไว้
  2. class PDF(FPDF):
  3. def header(self):
  4. self.set_font("DejaVu", "", 20)
  5. self.cell(0, 10, "คู่มือการใช้งานระบบควบคุมคอมพิวเตอร์", ln=True, align="C")
  6. self.ln(5)
  7.  
  8. # สร้าง PDF ใหม่ด้วยฟอนต์ DejaVu ทั้งหมด
  9. pdf = PDF()
  10. pdf.add_font("DejaVu", "", font_path, uni=True)
  11. pdf.set_font("DejaVu", "", 16)
  12. pdf.add_page()
  13.  
  14. # เพิ่มเนื้อหาเต็มลง PDF
  15. for paragraph in full_content.strip().split("\n\n"):
  16. for line in textwrap.wrap(paragraph, 100):
  17. pdf.cell(0, 8, txt=line, ln=True)
  18. pdf.ln(2)
  19.  
  20. # เขียน PDF และ zip ใหม่
  21. updated_pdf_path = "/mnt/data/lockscreen_project_full/User_Guide.pdf"
  22. pdf.output(updated_pdf_path)
  23.  
  24. final_zip_path = "/mnt/data/final_lockscreen_system_with_full_guide.zip"
  25. with ZipFile(final_zip_path, 'w') as zipf:
  26. for file in Path("/mnt/data/lockscreen_project_full").rglob("*"):
  27. zipf.write(file, file.relative_to("/mnt/data"))
  28.  
  29. final_zip_path
Success #stdin #stdout 0.02s 25896KB
stdin
Standard input is empty
stdout
# แก้ header ไม่ให้เรียกใช้ฟอนต์ที่ไม่ได้ประกาศไว้
class PDF(FPDF):
    def header(self):
        self.set_font("DejaVu", "", 20)
        self.cell(0, 10, "คู่มือการใช้งานระบบควบคุมคอมพิวเตอร์", ln=True, align="C")
        self.ln(5)

# สร้าง PDF ใหม่ด้วยฟอนต์ DejaVu ทั้งหมด
pdf = PDF()
pdf.add_font("DejaVu", "", font_path, uni=True)
pdf.set_font("DejaVu", "", 16)
pdf.add_page()

# เพิ่มเนื้อหาเต็มลง PDF
for paragraph in full_content.strip().split("\n\n"):
    for line in textwrap.wrap(paragraph, 100):
        pdf.cell(0, 8, txt=line, ln=True)
    pdf.ln(2)

# เขียน PDF และ zip ใหม่
updated_pdf_path = "/mnt/data/lockscreen_project_full/User_Guide.pdf"
pdf.output(updated_pdf_path)

final_zip_path = "/mnt/data/final_lockscreen_system_with_full_guide.zip"
with ZipFile(final_zip_path, 'w') as zipf:
    for file in Path("/mnt/data/lockscreen_project_full").rglob("*"):
        zipf.write(file, file.relative_to("/mnt/data"))

final_zip_path