2009-02-20 33 views
9

Tìm cách chèn chú thích lập trình (sử dụng tính năng nhận xét trong Word) vào một vị trí cụ thể trong tài liệu MS Word. Tôi thích cách tiếp cận có thể sử dụng được trong các phiên bản gần đây của các định dạng chuẩn MS Word và có thể triển khai trong môi trường không phải Windows (lý tưởng là sử dụng Python và/hoặc Common Lisp). Tôi đã xem xét OpenXML SDK nhưng dường như không thể tìm ra giải pháp ở đó.Làm thế nào để chèn các chú thích vào một tài liệu Microsoft Word bằng lập trình?

Trả lời

7

Dưới đây là những gì tôi đã làm:

  1. Tạo một tài liệu đơn giản với từ (ví dụ: một rất nhỏ)
  2. Thêm một lời nhận xét trong Word
  3. Save as docx.
  4. Sử dụng mô đun zip của python để truy cập tệp lưu trữ (tệp docx là lưu trữ ZIP).
  5. Dump nội dung của mục nhập "word/document.xml" trong lưu trữ. Đây là XML của chính tài liệu.

Điều này sẽ cho bạn biết bạn cần làm gì. Sau đó, bạn có thể sử dụng một trong các thư viện XML trong Python để phân tích cú pháp tài liệu, thay đổi nó và thêm nó trở lại một kho lưu trữ ZIP mới với phần mở rộng ".docx". Chỉ cần sao chép mọi mục nhập khác từ tệp ZIP gốc và bạn có tài liệu Word mới hợp lệ.

Ngoài ra còn có thư viện có thể trợ giúp: openxmllib

2

Nếu đây là việc sử dụng phía máy chủ (không tương tác) của chính ứng dụng Word không được hỗ trợ (nhưng tôi thấy điều này không áp dụng được). Vì vậy, hãy chọn tuyến đường đó hoặc sử dụng OpenXML SDK để tìm hiểu đánh dấu cần thiết để tạo nhận xét. Với kiến ​​thức đó, đó là tất cả về thao tác dữ liệu.

Định dạng .docx là một tệp ZIP của tệp XML có cấu trúc xác định, do đó, chủ yếu là khi bạn truy cập ZIP và nhận tệp XML đúng, nó sẽ trở thành vấn đề sửa đổi XML DOM.

Tuyến đường tốt nhất có thể là lấy docx, sao chép, thêm nhận xét (sử dụng Word) vào một và so sánh. Một khác biệt sẽ cho bạn thấy loại phần tử/cấu trúc bạn cần phải tìm kiếm trong SDK (hoặc tiêu chuẩn ISO/Ecma).

Các vấn đề liên quan