การทํางานกับ DOC Reader
การทํางานกับ DOC Reader
Aspose.Words FOSS for Python includes a dedicated reader for legacy Word 97-2003 .doc แฟชั่น DocFileReader class สารพัดรูปแบบไบนารี OLE2 และผลิต Light Document Model (LDM) ที่สามารถปรับเปลี่ยนหรือแปลงเป็นรูปแบบอื่นได้.
การอัตราค่าไฟล์ DOC
การใช้งาน DocFileReader การเปิด .doc ไฟล์จากดิสก์และแปลงมันเป็น Document:
import aspose.words_foss as aw
doc = aw.Document("report.doc")
print(f"Paragraphs: {len(doc.all_paragraphs)}")การ Document ผู้มอบหมายของผู้ประกอบการ create_reader(), ซึ่งเลือก DocFileReader โดยอัตโนมัติ .doc การขยาย.
การใช้ DocFileReaderCore โดยตรง
สําหรับการควบคุมระดับต่ํา, instantiate DocFileReaderCore และเรียกวิธีการโหลดของมัน:
from aspose.words_foss.doc_reader.doc_file_reader_core import DocFileReaderCore
reader = DocFileReaderCore()
reader.load_file("legacy.doc")DocFileReaderCore มีวิธีการเข้าข้อมูล 3 วิธี คือ:
| Method | ประเภทการเข้า | กรณีการใช้งาน |
|---|---|---|
load_file(filepath) | เส้นทางไฟล์ | อ่านจากดิสก์ |
load_stream(stream) | วัตถุแบบไฟล์ | อ่านจากการอัพโหลดหรือเครือข่าย |
load_bytes(data) | bytes | อ่านจากพัฟเฟอร์ในความจํา |
การสร้างแบบ Light Document Model
หลังจากการชาร์ต, โทรหา to_light_document() ในวันที่ DocFileReader เพื่อผลิต LDM Document:
from aspose.words_foss.doc_reader.doc_file_reader import DocFileReader
reader = DocFileReader()
reader.load_file("input.doc")
ldm_doc = reader.to_light_document()LDM เป็นตัวแทนภายในที่แบ่งกลุ่มกันทั้งผู้อ่าน (DocFileReader, DocumentReader, TextFileReader). เมื่อคุณมีเอกสาร LDM คุณสามารถบันทึกมันได้ในรูปแบบการออกที่สนับสนุนใด ๆ.
โปรโตคอล DocumentFormatReader
ผู้อ่านทุกคนจะนําไปใช้การ DocumentFormatReader โปรโตคอลที่กําหนดหน้าสัมผัสร่วม: load_file(), load_stream(),และ load_bytes().- ครับ create_reader() factory function จะส่งเครื่องอ่านที่เหมาะสมขึ้นอยู่กับขยายไฟล์:
from aspose.words_foss.reader_factory import create_reader
reader = create_reader("data.doc") # returns DocFileReader
reader.load_file("data.doc")เคล็ดลับและปฏิบัติที่ดีที่สุด
- ใช้ระดับสูง
Document("file.doc")คอนสตอรเตอร์สําหรับการทํางานส่วนใหญ่ มันจัดการเลือกตัวอ่านโดยอัตโนมัติ. - การใช้งาน
DocFileReaderCoreแค่เมื่อคุณต้องการเข้าถึงแบบไบนารี เพียงแค่การพาร์สซิ่งชั้น. - สําหรับไฟล์ที่ได้รับในฐานะ
bytes(เช่นจากการอัพโหลด HTTP) เลือกload_bytes()เพื่อหลีกเลี่ยงการเขียนไฟล์ชั่วคราว. - ตัวอ่าน DOC รองรับความซื่อสัตย์แบบทริปกลับเดียวกันกับตัวอ่าน DoCX สําหรับข้อความ, ข้อตกลง และการจัดรูปพื้นฐาน.
ปัญหาทั่วไป
| Issue | Cause | แก้ไข |
|---|---|---|
load_file() การเพิ่มเงิน FileNotFoundError | เส้นทางไฟล์ผิดพลาด | ยืนยันเส้นทางมีก่อนการโทร |
| ข้อความที่คัดแยกหลังการอุดหนาน | ไฟล์ไม่ใช่ไบนารี OLE2 ที่ถูกต้อง | ยืนยันว่าไฟล์เป็นของแท้ .doc รูปแบบ, ไม่เปลี่ยนชื่อ .docx |
| การออกแบบที่ขาดใน output | มีคุณสมบัติ DOC ที่มีความก้าวหน้าที่ยังไม่ได้รับการสนับสนุน | Check limitations.md สําหรับลักษณะที่ไม่สนับสนุน |
FAQ
ความแตกต่างระหว่าง DocFileReader และ DocPfileReadingCore คืออะไร?
DocFileReaderCore รับจัดการการพารัสไบนารีระดับต่ําของรูปแบบ OLE2. DocFileReader ยกมันออกไปด้วยการเพิ่ม to_light_document() วิธีที่ผลิต LDM ครบวงจร Document เหมาะสําหรับการแปลง.
ผมสามารถอัตราการโหลดไฟล์ DOC จากสตรีมได้หรือไม่?
ใช่ ใช้ DocFileReaderCore.load_stream(stream) หรือส่งวัตถุแบบไฟล์ เป็นประโยชน์สําหรับแอพลิเคชั่นเว็บที่โหลดไฟลูด์เป็นสตรีม.
DOC Reader ทําการจัดการไฟล์ที่คุ้มครองด้วยคําลับหรือไม่?
ป้องกันผ่านคําลับ .doc ไฟล์ไม่ได้รับการสนับสนุนในปัจจุบัน. ตัวอ่านจะยกเว้นถ้าไฟล์ถูกเข้ารหัส.
คําอธิบายการพบบ่อย API
| ประเภท / กลไก | Description |
|---|---|
DocFileReader | เครื่องอ่าน DOC ครบวงจรพร้อมความสามารถในการสร้าง LDM |
DocFileReader.to_light_document() | เปลี่ยนแปลงข้อมูล DOC ที่พาราสเป็น LDM Document |
DocFileReaderCore | คอร์เลสเตอร์สําหรับไฟล์ไบนารี Word 97-2003 (.doc) |
DocFileReaderCore.load_file(filepath) | การอัตราบรรจุไฟล์ DOC จากเส้นทาง |
DocFileReaderCore.load_stream(stream) | อัตราการอัพโหลดไฟล์ DOC จากสตรีม |
DocFileReaderCore.load_bytes(data) | การอัตราบรรจุไฟล์ DOC จากพัฟเฟอร์ไบต์ |
DocumentFormatReader | ระบบสัมผัสโปรโตคอลสําหรับเครื่องอ่านเอกสารทั้งหมด |
create_reader(path) | โรงงานที่ส่งกลับตัวอ่านที่ถูกต้องสําหรับขยายไฟล์ |