การทำงานอัตโนมัติของ Word ใน Python

ไฟล์ MS Word ถูกใช้อย่างมากในการสร้างเอกสารประเภทต่างๆ เช่น ใบแจ้งหนี้ รายงาน บทความทางเทคนิค เป็นต้น ระบบอัตโนมัติของเอกสารได้อำนวยความสะดวกให้ผู้ใช้ในการสร้างเอกสาร Word แบบไดนามิกจากภายในพอร์ทัลเว็บหรือเดสก์ท็อป ดังนั้นในบทความนี้เราจะกล่าวถึงวิธีการสร้างเอกสาร Word ใน Python โดยไม่ต้องใช้ MS Office นอกจากนี้ คุณจะได้เรียนรู้วิธีสร้างไฟล์ DOCX หรือ DOC และเพิ่มข้อความหรือองค์ประกอบอื่นๆ ลงในไฟล์แบบไดนามิกโดยใช้ Python

Python API เพื่อสร้างเอกสาร Word

ในการสร้างเอกสาร Word แบบไดนามิก เราจะใช้ Aspose.Words for Python เป็นไลบรารี Python อันทรงพลังที่ช่วยให้คุณสร้างและจัดการเอกสาร MS Word ได้อย่างราบรื่น คุณสามารถติดตั้งไลบรารีในแอปพลิเคชัน Python ได้จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้

pip install aspose-words

สร้างไฟล์ Word DOCX หรือ DOC ใน Python

ต่อไปนี้เป็นขั้นตอนในการสร้างเอกสาร Word ตั้งแต่เริ่มต้นใน Python

  • สร้างวัตถุของคลาสเอกสาร
  • สร้างวัตถุของคลาส DocumentBuilder
  • แทรกข้อความลงในเอกสารโดยใช้เมธอด DocumentBuilder.write()
  • บันทึกเอกสาร Word โดยใช้วิธี Document.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างเอกสาร Word DOCX

import aspose.words as aw

# สร้างวัตถุเอกสาร
doc = aw.Document()

# สร้างวัตถุตัวสร้างเอกสาร
builder = aw.DocumentBuilder(doc)

# เพิ่มข้อความลงในเอกสาร
builder.write("Hello world!")

# บันทึกเอกสาร
doc.save("out.docx")

เอาต์พุต

สร้างเอกสารคำหลาม

โหลดเอกสาร Word ที่มีอยู่ใน Python

คุณยังสามารถโหลดเอกสาร Word ที่มีอยู่ได้โดยระบุเส้นทางไปยังตัวสร้างเอกสาร ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการโหลดเอกสาร Word

import aspose.words as aw

# สร้างวัตถุเอกสาร
doc = aw.Document("document.docx")

# จัดการเอกสาร

# บันทึกเอกสาร
doc.save("out.docx")

แทรกย่อหน้าในเอกสาร Word โดยใช้ Python

เอกสาร Word มีข้อความในรูปแบบของย่อหน้า ดังนั้น ในหัวข้อนี้ เราจะสาธิตวิธีการแทรกย่อหน้าลงในเอกสาร Word โดยใช้ Python

  • สร้างวัตถุของคลาสเอกสาร
  • สร้างวัตถุของคลาส DocumentBuilder
  • รับการอ้างอิงแบบอักษรจากวัตถุ Documentbuilder และตั้งค่าแบบอักษร
  • รับการอ้างอิงย่อหน้า fromat จากวัตถุ Documentbuilder และตั้งค่าการเยื้อง การจัดตำแหน่ง ฯลฯ
  • แทรกข้อความลงในย่อหน้าโดยใช้เมธอด DocumentBuilder.write()
  • บันทึกเอกสาร Word โดยใช้วิธี Document.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกย่อหน้าในเอกสาร Word โดยใช้ Python

import aspose.words as aw

# สร้างวัตถุเอกสาร
doc = aw.Document()

# สร้างวัตถุตัวสร้างเอกสาร
builder = aw.DocumentBuilder(doc)

# สร้างแบบอักษร
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# กำหนดการจัดรูปแบบย่อหน้า
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# เพิ่มข้อความ
builder.writeln("A whole paragraph.")

# บันทึกเอกสาร
doc.save("out.docx")

เอาต์พุต

สร้างย่อหน้าในเอกสาร word python

เรียนรู้เพิ่มเติมเกี่ยวกับ การทำงานกับย่อหน้า ในเอกสาร Word โดยใช้ Python

เพิ่มตารางในเอกสาร Word โดยใช้ Python

ตารางเป็นส่วนสำคัญของเอกสารเพื่อแสดงข้อมูลในรูปแบบของแถวและคอลัมน์ Aspose.Words for Python ช่วยให้ทำงานกับตารางได้ง่ายขึ้น ต่อไปนี้เป็นขั้นตอนในการเพิ่มตารางในเอกสาร Word โดยใช้ Python

  • สร้างวัตถุของคลาสเอกสาร
  • สร้างวัตถุของคลาส DocumentBuilder
  • เริ่มตารางโดยใช้เมธอด DocumentBuilder.starttable() และรับข้อมูลอ้างอิงของตารางในวัตถุ
  • แทรกเซลล์โดยใช้เมธอด DocumentBuilder.insertcell()
  • ตั้งค่าการปรับให้พอดีอัตโนมัติโดยใช้เมธอด autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS)
  • กำหนดการจัดตำแหน่งของเซลล์
  • แทรกข้อความลงในเซลล์โดยใช้เมธอด DocumentBuilder.write()
  • ทำซ้ำการแทรกเซลล์และข้อความลงในเซลล์ตามต้องการ
  • จบแถวเมื่อคุณแทรกเซลล์เสร็จแล้ว
  • จบตารางเมื่อคุณแทรกแถวทั้งหมดแล้ว
  • บันทึกเอกสาร Word โดยใช้วิธี Document.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกตารางในเอกสาร Word โดยใช้ Python

import aspose.words as aw

# สร้างวัตถุเอกสาร
doc = aw.Document()

# สร้างวัตถุตัวสร้างเอกสาร
builder = aw.DocumentBuilder(doc)

# ตารางเริ่มต้น
table = builder.start_table()

# แทรกเซลล์ 
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# กำหนดรูปแบบและเพิ่มข้อความ
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")

# แทรกเซลล์
builder.insert_cell()
builder.write("This is row 1 cell 2")

# แถวท้าย
builder.end_row()

# แทรกเซลล์อื่นในแถวถัดไป
builder.insert_cell()

# จัดรูปแบบแถวหากจำเป็น
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# จัดรูปแบบเซลล์และเพิ่มข้อความ
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, กำหนดรูปแบบและเพิ่มข้อความ
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# แถวท้าย
builder.end_row()

# ท้ายตาราง
builder.end_table()

# บันทึกเอกสาร
doc.save("out.docx")

เอาต์พุต

สร้างตารางในเอกสาร word หลาม

เรียนรู้เพิ่มเติมเกี่ยวกับวิธี ทำงานกับตาราง ในเอกสาร Word โดยใช้ Python

สร้างรายการในเอกสาร Word โดยใช้ Python

ต่อไปนี้เป็นขั้นตอนในการสร้างรายการในเอกสาร Word โดยใช้ Python

  • สร้างวัตถุของคลาสเอกสาร
  • สร้างวัตถุของคลาส DocumentBuilder
  • ตั้งค่าการจัดรูปแบบโดยใช้เมธอด DocumentBuilder.listformat.applynumberdefault()
  • แทรกรายการโดยใช้เมธอด DocumentBuilder.writeln(“รายการ 1”)
  • แทรกรายการที่สองโดยใช้เมธอด DocumentBuilder.writeln(“Item 2”)
  • เมื่อต้องการแทรกรายการในระดับถัดไปของรายการ ให้เรียกเมธอด DocumentBuilder.listformat.listindent() แล้วแทรกรายการ
  • ลบตัวเลขออกจากรายการโดยใช้เมธอด DocumentBuilder.listformat.removenumbers()
  • บันทึกเอกสาร Word โดยใช้วิธี Document.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างรายการในเอกสาร Word โดยใช้ Python

import aspose.words as aw

# สร้างวัตถุเอกสาร
doc = aw.Document()

# สร้างวัตถุตัวสร้างเอกสาร
builder = aw.DocumentBuilder(doc)

# กำหนดรูปแบบรายการ
builder.list_format.apply_number_default()

# แทรกรายการ
builder.writeln("Item 1")
builder.writeln("Item 2")

# ตั้งค่าการเยื้องสำหรับระดับถัดไปของรายการ
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# เยื้องอีกครั้งสำหรับระดับถัดไป
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent เพื่อกลับไปยังระดับก่อนหน้า
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# ออกไปอีกครั้งเพื่อกลับไปที่ระดับแรก
builder.list_format.list_outdent()
builder.writeln("Item 3")

# ลบตัวเลข
builder.list_format.remove_numbers()

# บันทึกเอกสาร
doc.save("out.docx")

เอาต์พุต

สร้างรายการในเอกสาร word หลาม

อ่านเพิ่มเติมเกี่ยวกับ การทำงานกับรายการ ในเอกสาร Word โดยใช้ Python

แทรกรูปภาพในเอกสาร Word โดยใช้ Python

ขณะทำงานกับเอกสาร Word คุณไม่สามารถเพิกเฉยต่อวัตถุกราฟิก เช่น รูปภาพ มาดูวิธีการแทรกรูปภาพในเอกสาร Word แบบไดนามิกโดยใช้ Python

  • สร้างวัตถุของคลาสเอกสาร
  • สร้างวัตถุของคลาส DocumentBuilder
  • แทรกรูปภาพโดยใช้เมธอด DocumentBuilder.insertimage() และส่งพาธของไฟล์รูปภาพเป็นพารามิเตอร์
  • บันทึกเอกสาร Word โดยใช้วิธี Document.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกรูปภาพในเอกสาร Word โดยใช้ Python

import aspose.words as aw

# สร้างวัตถุเอกสาร
doc = aw.Document()

# สร้างวัตถุตัวสร้างเอกสาร
builder = aw.DocumentBuilder(doc)

# ใส่รูปภาพ
builder.insert_image("Logo.jpg")

# บันทึกเอกสาร
doc.save("out.docx")

เอาต์พุต

สร้างภาพในเอกสาร word หลาม

สร้างสารบัญในเอกสาร Word โดยใช้ Python

ในหลายกรณี เอกสาร Word จะมีสารบัญ (TOC) TOC จะแสดงภาพรวมของเนื้อหาในเอกสาร Word ขั้นตอนต่อไปนี้จะสาธิตวิธีการเพิ่ม TOC ในเอกสาร Word โดยใช้ Python

  • สร้างวัตถุของคลาสเอกสาร
  • สร้างวัตถุของคลาส DocumentBuilder
  • แทรกสารบัญโดยใช้เมธอด DocumentBuilder.inserttableofcontents()
  • แทรกตัวแบ่งหน้าหลัง TOC โดยใช้วิธี DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK)
  • หลังจากเพิ่ม/อัปเดตเนื้อหาของเอกสารแล้ว ให้อัปเดต TOC โดยใช้วิธี Document.updatefields()
  • บันทึกเอกสาร Word โดยใช้วิธี Document.save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกสารบัญในเอกสาร Word โดยใช้ Python

import aspose.words as aw

# สร้างวัตถุเอกสาร
doc = aw.Document()

# สร้างวัตถุตัวสร้างเอกสาร
builder = aw.DocumentBuilder(doc)

# ใส่สารบัญ
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# เริ่มเนื้อหาเอกสารจริงในหน้าที่ 2
builder.insert_break(aw.BreakType.PAGE_BREAK)

# เพิ่มเนื้อหา
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 1.1")
builder.writeln("Heading 1.2")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 2")
builder.writeln("Heading 3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3
builder.writeln("Heading 3.1.1")
builder.writeln("Heading 3.1.2")
builder.writeln("Heading 3.1.3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.2")
builder.writeln("Heading 3.3")

# สารบัญที่แทรกใหม่จะว่างเปล่าในตอนแรก
# จะต้องมีการเติมโดยการอัปเดตฟิลด์ในเอกสาร
doc.update_fields()

# บันทึกเอกสาร
doc.save("out.docx")

เอาต์พุต

สร้าง toc ในเอกสาร word python

อ่านเพิ่มเติมเกี่ยวกับ การทำงานกับสารบัญ โดยใช้ Python

อ่านเพิ่มเติม

บทความนี้กล่าวถึงการดำเนินการพื้นฐานในการสร้างเอกสาร Word และการแทรกองค์ประกอบต่างๆ Aspose.Words for Python มีคุณสมบัติอื่นๆ มากมายเช่นกัน ซึ่งคุณสามารถสำรวจได้โดยใช้ เอกสารประกอบ

รับใบอนุญาต API ฟรี

คุณสามารถ รับใบอนุญาตชั่วคราว เพื่อใช้ Aspose.Words for Python โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์ Word DOCX หรือ DOC ใน Python นอกจากนี้ คุณได้เห็นวิธีการแทรกข้อความ รูปภาพ ตาราง รายการ และสารบัญในเอกสาร Word แบบไดนามิก คุณสามารถลองใช้ API และแบ่งปันความคิดเห็นหรือข้อสงสัยของคุณผ่าน ฟอรัม ของเรา

ดูสิ่งนี้ด้วย

แปลงไฟล์ Word เป็น PDF โดยใช้ Pythonทำให้ MS Word Mail Merge เป็นแบบอัตโนมัติใน Pythonรวมเอกสาร Word ใน Python
เปรียบเทียบเอกสาร Word ใน Pythonทำงานกับมาโคร VBA ในเอกสาร Word โดยใช้ Pythonคัดลอกเนื้อหาของเอกสาร Word ไปยังเอกสารอื่นใน C#
คัดลอกเนื้อหาของเอกสาร Word ไปยังอีกเอกสารหนึ่งในภาษา Javaคัดลอกเนื้อหาของเอกสาร Word ไปยังอีกเอกสารหนึ่งด้วย Pythonสร้างงานนำเสนอ MS PowerPoint ใน Python
สร้างตารางในเอกสาร Word โดยใช้ Pythonแยกข้อความจากเอกสาร Word ใน C#แยกข้อความจากเอกสาร Word ใน Python
ค้นหาและแทนที่ข้อความในเอกสาร Word ด้วย Pythonปกป้องเอกสาร Word ใน Pythonยกเลิกการป้องกันเอกสาร Word ใน Python
แบ่งเอกสาร Word เป็นหลายไฟล์ใน Python

เคล็ดลับ: Aspose ให้บริการตัวแปลง PowerPoint เป็น Word ออนไลน์ฟรี ซึ่งช่วยให้คุณสร้างเอกสาร Word จากงานนำเสนอได้อย่างรวดเร็ว