DOCX sang PDF, với các thuộc tính tài liệu tùy chỉnh


1

TLDR : Làm cách nào tôi có thể chuyển đổi DOC (X) thành PDF và giữ CustomDocumentProperations và Field - để tôi có thể lập trình cập nhật Thuộc tính tùy chỉnh và in PDF qua Dịch vụ Windows ?

!

Chúng tôi có một ứng dụng nội bộ tùy chỉnh kết hợp việc tạo DOCX - tiếp theo là cập nhật và in trường. Ứng dụng như hiện tại - một chương trình dựa trên Windows Form - hoạt động nhưng yêu cầu nó phải được chạy từ vỏ người dùng. Tôi muốn nâng cấp chương trình này để được chạy từ Dịch vụ Windows.

THE vấn đề với DOCX trong một dịch vụ Windows được in. Phải cài đặt Word trên Máy chủ. Word không chơi tốt bên ngoài vỏ người dùng - Hộp thoại Modal, lời nhắc người dùng (bạn có muốn khôi phục một trong số này không? Bạn có muốn bật chỉnh sửa tài liệu này không? V.v.), các mục đăng ký bắt buộc, v.v.

Tôi đang khám phá điều chỉnh quy trình làm việc của chúng tôi thành các tệp PDF trên máy chủ.

Quy trình làm việc

DOC (X) Chuẩn bị / Tạo (Thủ công, không có trong chương trình):

  • Nhập / Chạy VBScript:
    • Lấy bảng / xem cột ra khỏi cơ sở dữ liệu.
    • Mỗi cột đi vào một DocumentProperty tùy chỉnh.
  • Đặt các trường vào tài liệu cho các thuộc tính tùy chỉnh mong muốn.

Vì vậy CustomerName, AddressLine1, City, vv được thêm vào như CustomDocumentProperties ... thì các trường được đặt trong những điểm ngay trên một hình thức để in tự động trong chương trình tự động.

Sử dụng DOCX (Tự động, trong chương trình):

  • Kéo hàng từ cùng một bảng
  • Đặt dữ liệu chính xác vào mỗi CustomDocumentPropertyField
  • Cập nhật các trường (thay thế CustomerNamebằng Doe, John, Cityvới Whoville, v.v.)
  • In tài liệu để sửa máy in

Thay đổi mong muốn

Tôi đang tìm kiếm một trong hai

a. Chuyển đổi DOC (X) thành PDF theo cách mà các thuộc tính tùy chỉnh chuyển - cũng như khả năng thay thế các trường - vẫn còn nguyên. Sẽ là 1) Tạo DOCX (rất nhiều trong số này hiện đang tồn tại và là quy trình công việc hiện tại), 2) Chuyển đổi sang PDF, 3) Cập nhật / in PDF. PRO: Tiếp tục sử dụng các sản phẩm từ mà khách hàng hài lòng / được đào tạo. TIÊU DÙNG: Có thể chuyển đổi docx / pdf phức tạp ở giữa để đổi lấy việc in PDF dễ dàng hơn trong dịch vụ windows.

b. Thay thế hoàn toàn DOC (X) và thay vào đó sử dụng các công cụ tạo PDF. PRO: Quá trình hai bước giống nhau. CON: Người dùng được sử dụng để tạo DOC (X). Phần mềm / đào tạo bổ sung có thể cần thiết. Rất nhiều tài liệu sẽ cần phải được chuyển đổi.

c. Làm việc xung quanh DOCX như một dịch vụ và nhận nó để in bên trong một dịch vụ.

Câu hỏi này là khám phá a- DOC(X) conversion to PDF. Đưa ra một Tài liệu Word với các thuộc tính và trường tài liệu tùy chỉnh được đặt trên tài liệu ... Tôi dường như mất các thuộc tính đó VÀ các trường được thay thế bằng các giá trị hiện tại khi tôi chuyển đổi sang PDF qua Save As PDFWord. Có những lựa chọn khả thi nào khác để chuyển đổi sang PDF - giữ thông tin đó cho từng bước 2) DOCX Usage/Printing.


Tôi nghĩ rằng bạn sẽ tốt hơn khi khám phá cách tạo / cập nhật tệp .docx mà không cần Word, ví dụ: Sử dụng SDK Office Open XML. Nhưng bạn sẽ thực sự cần phải chuyển từ vbscript hoặc viết một số thư viện có thể gọi được vbscript. Hãy xem tài liệu Trình tạo tài liệu của Eric White cho một số gợi ý.

@bibadia vấn đề chính của việc gắn bó với DOCX không phải là chỉnh sửa / cập nhật tài liệu (Tôi thực sự đã khám phá việc cập nhật quy trình hiện tại với OOXML và đừng nghĩ rằng phần đó sẽ trở nên tồi tệ.). THE vấn đề được in từ bên trong một Windows Service (thay đổi theo yêu cầu: GUI Windows Service). Tất cả mọi thứ tôi đọc đều nói rằng nó yêu cầu phải cài đặt từ trên máy chủ và từ đó không phát tốt như một dịch vụ (lỗi hộp thoại phương thức, yêu cầu tương tác của người dùng về lỗi, yêu cầu đăng ký người dùng, v.v.).
WernerCD

@Werner, Bạn có thể xem Aspose. र cho .NET có thể giữ lại các thuộc tính tài liệu tùy chỉnh khi chuyển đổi DOCX sang PDF mà không cần sử dụng tự động hóa từ. Nó cũng được hỗ trợ đầy đủ trong một kịch bản máy chủ.
Adam

Câu trả lời:


0

Sử dụng pdfsharp, nó là một thư viện mã nguồn mở. Bạn có thể đặt các thuộc tính tùy chỉnh của pdf như thế này:

PdfDocument document = PdfReader.Open("c:\\Test.pdf"); 
document.Info.Elements.Add(
     new KeyValuePair<String, PdfItem>("/MyKey", new PdfString("MyValue")));
document.Save("c:\\test.pdf");
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.