2010-03-17 32 views
5

Tôi đang cố hợp nhất hai tài liệu docx vào một tài liệu docx bằng cách sử dụng OpenXML SDK 2.0. Các tài liệu nên được hợp nhất mà không mất kiểu dáng và đầu trang và chân trang tùy chỉnh của chúng. Tôi hy vọng tôi có thể đạt được điều này bằng cách sử dụng AltChunk và một phần nghỉ. Nhưng tôi không thể làm cho nó hoạt động được.Kết hợp các tài liệu

Có thể tôi đang cố gắng làm gì không? Ai đó có thể cho tôi một gợi ý làm thế nào để đạt được điều này?

Trả lời

1

Sử dụng 'Công cụ năng suất XML mở' Tôi đã phân tích cấu trúc của tài liệu docx và kết luận rằng việc kết hợp tài liệu với kiểu, đầu trang, chân trang, ... không thể sử dụng được bằng cách sử dụng Altchunk. Bạn có thể tải xuống công cụ seperatly từ open xml sdk.

Hiện tại tôi đang làm gì và đang làm gì, sao chép mọi thứ theo cách thủ công vào tài liệu, đảm bảo rằng tất cả tham chiếu kiểu, tham chiếu tiêu đề, tham chiếu chân trang, ... được giữ nguyên. Điều này có nghĩa là tôi cung cấp cho họ một id duy nhất mới trước khi tôi sao chép chúng vào tài liệu và thay đổi tất cả các tham chiếu từ id cũ sang id mới. Có rất nhiều mã để làm điều này, nhưng công cụ được đề cập ở trên thực sự hữu ích.

Thêm phần nghỉ cũng khá khó khăn. Bạn nên biết rằng SectionProperties -agag mô tả tất cả các thuộc tính của phần và có thể có một SectionProperties -tag theo nhãn Body, mô tả các thuộc tính của phần cuối cùng. Vì vậy, thêm một phần mới, có nghĩa là sao chép đoạn mã SectionProperties cuối cùng vào đoạn cuối cùng của phần và thêm một đoạn mã mới SectionProperties theo nhãn Body. Tôi cũng có rất nhiều thông tin từ công cụ năng suất.

+0

Bạn có thể đăng mã cho điều đó :-) Một số ví dụ dễ hiểu:> – MadBoy

+0

Trải nghiệm của Jelle phản chiếu tôi. Nó không phải là một nhiệm vụ dễ dàng, và nó đòi hỏi nhiều mã hơn bạn nghĩ. Nó đặc biệt khó khăn để giữ cho các phong cách thẳng vì bạn phải ngăn chặn va chạm của cả hai tên Id. –

4

Câu trả lời ở trên KHÔNG đúng! Đây là chính xác những gì AltChunk đã được thiết kế để làm, và nó hoạt động tuyệt vời!

GHI CHÚ: (. Rõ ràng là các tập tin đã được lưu hoặc các tập tin trên đĩa sẽ không được cập nhật) rằng các tài liệu sẽ không được sáp nhập vào một tài liệu ĐẾN Lời mở tập tin cho lần đầu tiên

Xem blog này để biết thêm thông tin về cách thực hiện đúng cách: https://blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx?Redirected=true

ps Để kiểm tra Open XML bằng cách sử dụng công cụ năng suất, ý kiến ​​của tôi là chỉ cần cài đặt tiện ích Visual Studio Open XML chính thức và mở Tài liệu Office từ Visual Studio để kiểm tra chúng, nó rất tiện lợi! :-)

+1

cũng hoạt động cho mee, mặc dù ngược lại với Word LibreOffice dường như bỏ qua các altChunks. – metalheart

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