@dykim34

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Docx → PDF変換時のページ精度を保証できる商用ツールのおすすめを教えてください(日本での利用事例を中心に)

こんにちは、外国人の開発者です。
現在、.docxファイルをPDFに変換する際に、単なる変換だけでなく、Word文書内のページレイアウトやページ数が正確に保持されることが求められるケースがあり、商用のPDF変換ツールの導入を検討しています。

以下のような条件を満たすPDF変換ソリューションをご存知の方、または実際に利用されたことがある方がいらっしゃいましたら、ご教示いただけますと幸いです。

求める条件:
.docx → PDF変換時にページ数が正確に一致すること

Word文書のレイアウトがPDFでも忠実に再現されること

日本国内の企業や開発者コミュニティで一定の実績や信頼性があること

クラウドベース/ローカルインストール型のいずれも可(※日本国内での使用実績を重視)

現時点での検討候補:
Adobe Acrobat Pro(基本的な変換品質は高いが、自動化の面で制約あり)

Microsoft WordのPDF保存機能(CLIでの活用には制限あり)

もし日本で特に評判の良いツールや、実際に使用されて良かったと感じたサービスがあれば、ぜひ教えてください。
導入前に比較検討するため、実際のユーザーからのフィードバックをぜひ参考にさせていただきたいと思っています。

よろしくお願いいたします!

0 likes

2Answer

Microsoft Word の「印刷」でプリンターに「Microsoft Print to PDF」を指定するのが、一番正確だと思いますが、違いますか?

1Like

Comments

  1. 横から失礼します。←日本的ビジネスルール(?)

    ( @nak435さん wrote)

    Microsoft Word の「印刷」でプリンターに「Microsoft Print to PDF」を指定するのが、一番正確だと思いますが、違いますか?

    確かにベストな気がします。
    WordなどOffice標準の、[名前を付けて保存] - [(拡張子.pdfを選択)]も同じようにですよね。(なんとなく後述の方が全く根拠なく解像度が高い気分がして自分はそっちを多用しています。)

    ( @dykim34 さん wrote)

    Microsoft WordのPDF保存機能(CLIでの活用には制限あり)

    結構PowerShellだとWindowsの様々な操作が出来ちゃうイメージでしたが、
    実際に「Microsoft Print to PDF」の操作や、[名前を付けて保存] - [(拡張子.pdfを選択)]も無理そうでしたかね?
    ・・・自分が操作を試していなくて、すいませんが。。

  2. デフォルトプリンタを「Microsoft Print to PDF」にしておけば、コマンドで印刷できると思います。試していませんが・・・

    PS> Start-Process filename.docx -Verb Print | Stop-Process 
    
  3. Windows にはアプリケーションを外部から制御するオートメーションという仕組みがあり、ワードもまたこの仕組みに対応しています。

    ドキュメントをざっと見たところ PrintOut メソッドを呼び出すだけで印刷できるようです。

    マイクロソフトの言語・開発環境ならだいたいどれもオートメーションを活用しやすいようになっているので簡単なプログラムでなんとでもなるはずです。 更に言えば Power Automate を使えばプログラムを書かずともやりたいことが出来るかもしれません。

  4. @dykim34

    Questioner

    ご回答ありがとうございます 🙇‍♂️
    とても参考になりました!

    一点だけ補足させていただくと、
    今回は CLIツールではなく、Linux環境のコマンドラインから直接実行できる方法 を探しています。

    GUIやWindowsアプリ依存ではなく、できれば Headless環境 でも動作する方法が理想です。
    もしご存知でしたら、ヒントだけでも頂けると嬉しいです!

  5. Linux環境のコマンドラインから直接実行できる方法 を探しています。
    GUIやWindowsアプリ依存ではなく、できれば Headless環境 でも動作する方法が理想です。

    ↓ 精度は未知数です。


    現時点での検討候補:
    Microsoft WordのPDF保存機能(CLIでの活用には制限あり)

    Linux環境でMicrosoft Wordが動作するのでしょうか???

今回は CLIツールではなく、Linux環境のコマンドラインから直接実行できる方法 を探しています。

GUIやWindowsアプリ依存ではなく、できれば Headless環境 でも動作する方法が理想です。
もしご存知でしたら、ヒントだけでも頂けると嬉しいです!

@dykim34
そうなると「LibreOffice」の利用ですかね?
・・・あ、既に nak435 さんが触れていた。
https://www.baeldung.com/linux/latex-doc-docx-pdf-conversion

0Like

Comments

  1. @dykim34

    Questioner

    @hiro-matsumoto さん
    ご親切にありがとうございます!

    仰る通り、「LibreOffice」の利用も検討しまして、実際に unoserver を用いて headless 環境で動かしてみました。
    また、商用ライブラリの「Aspose」を使った方法も試してみました。

    しかし残念ながら、どちらの方法でも 実際のWordのレンダリング結果に基づいた正確なレイアウト情報を再現することが難しく、
    特にページ単位の構造を必要とするケースでは、サーバがクラッシュしたり、想定通りの結果が得られなかったりしました。

    そのため、現在もレイアウト精度を重視した変換方法について引き続き模索しているところです。

    とても参考になるコメント、誠にありがとうございました!🙇‍♂️

  2. しかし残念ながら、どちらの方法でも 実際のWordのレンダリング結果に基づいた正確なレイアウト情報を再現することが難しく、

    なるほど。。

    ちなみに、まずは、その求める精度の指標が必要な気がしますね。
    以下2つの方法は、どちらかでその精度の要求は満たすのでしょうか?

    • 「Microsoft Print to PDF」での出力
    • [名前を付けて保存] - [(拡張子.pdfを選択)]

    ※これでも満たさないとなると・・・それはWordを超える再現性というのはあり得ないことになってしまいますよね。。

    その次に、
    どうやら再現性を確保するためには、システム構成内に、WindowsとWordが存在しないと無理な気もしますので、
    それらが存在する上で、
    どうしてもLinux環境のコマンドラインから直接実行したいとなりますと、
    WSL2を使うしかないのではないでしょうか?

    例)ASCII.jp(2020年04月09日):WSLでWord文書ファイルをテキスト化する

Your answer might help someone💌