Aspose.Words for Java PDF変換で崩れてしまう

Asposeの機能を使用してWORDをPDFへ変換した際、WORDの内容とPDFの内容が大きくずれてしまう。
ずれずにPDFへ変換する方法はありますか?依頼資料#101.zip (283.8 KB)

(目標は、WORDの 「名前を付けて保存」→ 「ファイルの種類:PDF」 で作成したPDFくらいの精度です。)

@dirbi,

ご質問ありがとうございます。 私たちはシナリオをテストし、同じ問題を私たちの目的のために再現することができました。 訂正のために、私たちはこの問題を当社の問題追跡システムに記録しました。 この問題の詳細をさらに詳しく調べ、修正のステータスを更新します。 ご迷惑をおかけして申し訳ありません。

この問題のIDはWORDSNET-16838です。

20180517_再確認.zip (365.3 KB)

①IDはWORDSNET-16838 の現在の状況はどのサイトから検索できるのでしょうか?

②IDはWORDSNET-16838 についてはバグとして、修正いただけるのかと思いますが、通常どの程度で対応されていくのでしょうか。期限を切ってこちらでも確認していく必要があるので。

③以下の記述をいれたところ添付のような結果になり、表については多少きれいになりました。
この記述は貴社として推奨する記述でしょうか。※文字の間隔は元の記述と変わっているので別途対応は必要ですが。

    // WordファイルのDocumentオブジェクトを作成する
    Document doc = new Document(wordFileName);

//ここから
for (com.aspose.words.Table table :
(Iterable<com.aspose.words.Table>)doc.getChildNodes(com.aspose.words.NodeType.TABLE,true))
{
table.setAllowAutoFit(false);
}
doc.updateTableLayout();
//ここまで

@dirbi,

残念ながら、あなたの問題(WORDSNET-16838)はまだ解決されていません。 私たちはこの問題の分析を完了し、根本原因が特定されました。 しかし、この問題の修正の実施は延期され、現時点では入手可能な見積りはありません。 この問題を解決する最善の方法を調査する必要があります。 この問題が解決され次第、このスレッドを通じて通知させていただきます。 ご不便をおかけして申し訳ございません。

新しい文書 "20180517_再確認.zip"に関して、MS Word 2016とAspose.Words 18.5はどちらも同じ出力を生成します(参照してくださいoutput-pdfs.zip (242.2 KB))。

新しい文書 "20180517_再確認.zip"に関して、MS Word 2016とAspose.Words 18.5はどちらも同じ出力を生成します(参照してくださいoutput-pdfs.zip 3 (242.2 KB))。
について、
解凍した2つのファイル、msw-2016.pdfと18.5.pdfは、それぞれMS Word 2016とAspose.Words for .NET 18.5 でしょうか?
もしそうであれば、java版の質問をしているのに、なぜ.NETの比較結果を提示されているのでしょうか?

@dirbi,

ご不便おかけして申し訳ありません。 Aspose.Words for Java 18.5で次のコードを使用してWord文書をPDFに変換し、参照用にここに添付します[参照 awjava-18.5.pdf (91.3 KB)]。

Document doc = new Document("D:\\temp\\input.docx");
doc.save("D:\\Temp\\awjava-18.5.pdf");

今回の回答は、元のWordファイルをJava版で変換し、MS Word 2016で変換した場合と同様の結果が得られたということでしょうか?質問に対する回答の意図がわかりません。

もし、Java版でも変換の精度に問題がないという回答であれば、
「残念ながら、あなたの問題(WORDSNET-16838)はまだ解決されていません。 私たちはこの問題の分析を完了し、根本原因が特定されました。 しかし、この問題の修正の実施は延期され、現時点では入手可能な見積りはありません」
の「問題点」、「根本原因」とは何なのでしょうか?

@dirbi,

あなたの最初の投稿では、 "依頼資料#101.zip"のHTMLファイル(12078_KS014_20171220190921_mdYEKriGEE.html)を共有しました。 この問題は、HTMLファイルをPDFに変換するときに発生します。 WORDSNET-16838の問題は、HTMLからPDFへの変換に関するものでした。 この問題が解決され次第、このスレッドを通じて通知させていただきます。 ご不便をおかけして申し訳ございません。

それでは質問を整理します。いったんHTMLは忘れてください。
現在こちらでWORDからPDFを作成しているeclipseのプロジェクトをお送りします。
こちらで実行すると、awjava-18.5.pdfが作成され、
会計方針の変更による累積的影響額
が一行で表示されてしまいます。
正しくは、input.docxのように、
会計方針の変更による
累積的影響額
のように、表のセル内で改行されてほしいのです。
temp.zip (101.5 KB)

ファイルサイズを小さくするため、
temp\workspace\test\libaspose-words-18.5-jdk16.jar
を削除しました。すみませんが、そちらで追加してください。

こちらの環境に問題があるのか、同ソースを実行して確認してほしいです。

@dirbi,

次のコードを試してください。 このPDF出力はあなたに受け入れられますか?[参照 awjava-18.5.pdf (88.9 KB)
]

Document doc = new Document("D:\\temp\\input.docx");
for (Table table : (Iterable<Table>)doc.getChildNodes(com.aspose.words.NodeType.TABLE,true))
{
    table.setAllowAutoFit(false);
    table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
}
doc.updateTableLayout();
doc.save("D:\\Temp\\awjava-18.5.pdf");

その前に質問に答えてください。
そちらから前回PDFを送ってもらったときはこのコードは入っていないですよね?
入っていない状態でPDFは正しく(改行ありで)作られたのですか?

次のコードを試してください。 このPDF出力はあなたに受け入れられますか?[参照 awjava-18.5.pdf 2 (88.9 KB)] ⇒ 改行なしでこちらと同じ結果ということですか?

それで今回はサンプルコードを提示してきたのですか?
こちらから3/10で確認してますよね?

もっとプロの方に対応していただきたいです。

table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
によって、逆に改行されなくなります。
5/11のPDFを作成されたときのコーディングを教えてください。

こちらでのテスト結果をお送りします。
awjava-18.5_AutoFitBehavior_false_test.zip (248.1 KB)
awjava-18.5_AutoFitBehavior_false.pdf
改行の位置は正しくないですが、一応改行されいます。
awjava-18.5_AutoFitBehavior_false_AUTO_FIT_TO_WINDOW.pdf
むしろ改行がなくなり、悪くなっています。

@dirbi,

あなたの最後にこのWord文書をMS Wordで開いてください。input.zip (15.7 KB)

今度は、Ctrl + Fキーを押して次の文字列を探します

  • 会計方針の変更による累積的影響額

MS Wordは文字列全体を1行に表示します。 (スクリーンショット

これは出力PDFで必要なものですか?

そうでない場合は、MS Wordを使用してこのWord文書(input.docx)を修正し、期待される出力を作成してください。 ファイルを保存します。 ZIPし、今後のテストのためにここに正しい出力を示す期待されるWord文書を添付してください。

また、MS Wordで実行したすべての手順を共有して、期待される出力を生成してください。

最後にシナリオをさらに調査し、より多くの情報を提供します。 ご協力いただきありがとうございます。

WORDで表示されている状態と、autofitをfalseに設定した場合のハードコピーを送ります。
AutoFit_false.zip (209.2 KB)

table.setAllowAutoFit(false)がある場合
赤い枠はセルの中に改行コードはなく、WORDの表のセルの幅により自動改行されています。(期待する改行)
しかし、PDF変換後は、異なる文字の場所で改行されています。

青い枠はセルの中に改行コードがあり、PDF変換後も改行されています。

table.setAllowAutoFit(false)がない場合
PDF変換後は、改行されません。

@dirbi,

この入力されたWord文書を参照してください
input.zip (15.7 KB)

次のコード行を実行すると

Document doc = new Document("D:\\temp\\input.docx");

for (Table table : (Iterable<Table>)doc.getChildNodes(com.aspose.words.NodeType.TABLE,true))
{
    table.setAllowAutoFit(false);
}

doc.updateTableLayout();

doc.save("D:\\Temp\\awjava-18.5.docx");
doc.save("D:\\Temp\\awjava-18.5.pdf");

次のWordおよびPDFファイルが生成されます。

セル内の改行は、DOCXと比較してPDFの間違った文字位置で発生します。 [スクリーンショット]

訂正のために、私たちはこの問題を当社の問題追跡システムに記録しました。 この問題のIDはWORDSNET-16899です。この問題の詳細をさらに詳しく調べ、修正状況を更新します。 ご迷惑をおかけして申し訳ありません。

WORDSNET-16899 ---- Status : Closed
となっておりますが、どのような検証結果、結論をへてClosedとなったのでしょうか?
開発元しかJIRAを見れないのはしかたありませんが、
ユーザーとしては何もわからないのではないでしょうか?教えてください。

@dirbi,

問題(WORDSNET-16899)が解決されました。 この問題の修正は、Aspose.Wordsの次のバージョン、つまり18.7で利用可能になります。 この問題の修正を含む次のバージョンが来月の初めに利用可能になるとすぐに、このスレッドを通じて通知させていただきます。

第二に、自分で問題を追跡するための直接的な方法はありません。 しかし、あなたはフォーラムのスレッドを通じてあなたの問題のステータスを尋ねることができます。 内部問題追跡システムからステータスを確認し、返信します。

WORDSNET-16899で解決される問題は、DOCXの表の列幅に対する自動改行と、字間のみでしょうか?
日本語Wordのデフォルト設定に関する問題は解決されないでしょうか?
とくに、行頭、行末禁則と句読点ぶら下げがAsposeのDOCX生成時に無効となってしまいます。
添付ファイルを確認してください。禁則処理と句読点ぶら下げ.zip (1.2 MB)

@dirbi,

Aspose.Words for Javaの最新バージョン(18.6)を使用している場合、この問題は発生していないようです(出力を参照してください awjava-18.6-AsposeWordEdit.pdf (95.8 KB) awjava-18.6-Aspose.pdf (94.9 KB))。

改善されていません。
awjava-18.6-Aspose.pdfは、Aspose.docx2P.pdfと同様に、)や、や。が先頭に来ています。
問題点を認識しているでしょうか?
awjava-18.6-Aspose.pdfとAspose.docx2P.pdfは、
※「基準価額」とは、~した金額
**)**を計算日の~当たり

「分配金受取~可能です
**。**お申込みになる~となる場合があ
ります。

のように、
行頭に)と。が来ています。それが問題なのです。

もう一度、Japanese Typography.xlsxを読んで、問題点を把握してください。