Dùng JODConverter command-line để chuyển đổi file văn bản thành file PDF

Giả sử bạn có khách hàng đặt bạn làm một website. Website đó cho phép người dùng upload các loại file văn bản như doc, powerpoint… nhưng tất cả phải chuyển sang hết loại file pdf để cho người dùng download. Để giải quyết được điều này, bạn cần phải có một bộ command-line converter, để chuyển đổi các loại văn bản sang file pdf. JODConverter là một trong công cụ miễn phí  có chức năng như thế, giúp bạn giải quyết vấn đề này.

1. Phần mềm yêu cầu:
– Cài đặt Java (vì JODConverter được viết bằng Java).
– Cài đặt OpenOffice.org.
– Download JODConverter.

2. Cấu hình OpenOffice.org
Chúng ta sẽ dùng OpenOffice.org để chuyển đổi văn bản. Do đó JODConverter phải kết nối với OpenOffice.org vừa được cài đặt. Cấu hình OpenOffice.org như là service và lắng nghe giao thức TCP tại cổng:8100.
Chúng ta có nhiều cách làm được điều này:
– Cách thứ 1 làm theo hướng dẫn của tài liệu JODConverter là gõ từ command line:

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

– Cách thứ 2 là chỉnh sửa file cấu hình của bộ OpenOffice.org. Bạn vào đường dẫn C:\Program Files(x86)\OpenOffice.org 3\Basis\share\registry\schema\org, tìm file Setup.xcs
Đổi property ooSetupConnectionURL thành:

<prop oor:name="ooSetupConnectionURL" oor:type="xs:string">
<info>
<desc>Specifies the URL for an UNO connection that can be used to script the office from outside.
</desc>
</info>
<value>socket,port=8100;urp;</value></prop>

3. Dùng command line để chuyển đổi tài liệu
Câu lệnh để chuyển đổi tài liệu là. Ghi nhớ là các đường dẫn phải là các đường dẫn đến file.
java -jar lib/jodconverter-cli-2.2.0.jar document.doc document.pdf


14 comments

  1. Hi chào banj mình đang nghiên cứu về vấn đề này và rất cần nó. mình đang làm 1 project lấy 1 file word từ CSDL chuyển sang pdf rồi sang flash để hiển thị lên website bạn có thể hướng dẫn cụ thể hơn được không. Thanks bạn nhiểu

  2. Ban co the huong dan minh cu the hon cac convert tu .doc, excell .. sang pdf 1 cach tu dong tren server khi up 1 file len duoc khong? Thanks ban nhieu!!!

  3. Hi, Khánh Hưng!
    Mình cũng đang tìm hiểu về sử dụng jodconverter, và bài toán chuyển từ định dạng .odt sang .html mà chưa xử lý đc.
    Khánh Hưng có thể giúp hay có tài liệu nào thì gửi giúp mình xin được ko?
    Địa chỉ mail của mình: vinagoal@gmail.com
    Cảm ơn bạn về rất nhiều bài viết bổ ích.
    :D :D

  4. Hi Khánh Hưng,
    Cho mình hỏi jodconverter khi convert file ở một server khác thì thực hiện thế nào? ví dụ ToolConvert đặt ở server A và File dữ liệu đặt ở server B
    khi gọi câu lệnh java -jar D:\Setup\setupforconvert\new-opensource\jodconverter\lib\jodconverter-core-3.0-beta-3.jar \\serverA\test.doc \\ServerB\test.pdf mình gọi thế này toàn báo lỗi proxy bạn có giải pháp khắc phục giúp mình với.

    thanks nhiều!

  5. Chào Khánh Hưng, khi chuyển đổi như vầy màn hình sẽ hiện lên cmd. Mình muốn khi upload 1 file doc,docx,xls,xlsx,ppt,pptx server sẽ convert thành pdf. Có thể dùng thư viện của jodconvert làm chuyện này không ?

  6. Cho em hỏi anh là đây là cách cài đặt cấu hình trên máy chủ vps phải không anh? Dùng hệ điều hành server và online 24/24 để xử lí yêu cầu của khách hàng bất cứ lúc nào phải không ạ?

  7. Chào Khánh Hưng

    Mình là Bách, 31 tuổi, hiện tại mình đang làm quen với lập trình php và làm 1 website quản lý tài liệu bằng php. Với mong muốn tạo docviewer cho phép người dùng có thể view được nhưng không download được. Cái này chạy trong môi trường công ty. Mình đã thử nhiều cách nhưng chưa thành công. Do khả năng hiểu biết trong lĩnh vực lập trình còn hạn chế.

    Rất mong Hưng chỉ thêm cho mình, nếu có thể mình trả phí để nhờ Hưng làm outsorce cho mình cũng sẵn sàng miễn sao đạt được kết quả.

    Rất mong nhận được hồi âm của bạn

    Email của mình: bui.xuan.bach@gmail.com

    1. Xin lỗi mình lâu ngày không kiểm tra blog nên không trả lời Bách sớm được.

      Hiện mình không còn làm nhiều về coding nữa. Bách có thể qua các diễn đàn về lập trình nhờ các bạn phát triển giúp ý tưởng của Bách nhé.

Leave a Reply

Your email address will not be published. Required fields are marked *