Free Support Forum - aspose.com

Pdf作成時のフォント指定について

PDF作成時のフォント違いによる問題.pdf (258.5 KB)

PDF作成時にテキスト出力を、座標指定で行っていますが
指定するフォントによって、同じ座標でも出力位置が異なっております。
この事象の原因と回避方法を調査いただけますでしょうか。

@koga

生成されたPDFと、問題を確認するために使用したサンプルコードを共有してください。 問題の比較スナップショットも提供してください。

UTCTEST0001-000000001-20210427120648.pdf (410.4 KB)

作成しているソースについては、別途ご提供させていただきますが、
ひとまず実際に生成されたPDFを添付します。

同じ作成方法で作成し、フォントのみ変更した形で作成しています。

@koga

問題の確認に使用したサンプルコードを教えてください。 問題の比較スナップショットも提供してください。

対象ソース.zip (5.3 KB)
比較スナップショットについては、前回提示している内容を確認願います

@koga

提供されたコードスニペットを実行しようとしましたが、解決できませんでした。ただし、理解どおりにシナリオを複製するために、以下のサンプルコードスニペットを用意しました。

Document pdfDocument = new Document();
Page page = pdfDocument.getPages().add();
MarginInfo pageMarginInfo = new MarginInfo(3,3,3,3);
page.getPageInfo().setMargin(pageMarginInfo);

Table tableDetail = new Table();
tableDetail.setMargin(new MarginInfo(0,0,0,0));
tableDetail.setColumnWidths("200 200 200");

Row row = tableDetail.getRows().add();
row.getCells().add("フォント");
row.getCells().add("半角英数");
row.getCells().add("全角文字");

row = tableDetail.getRows().add();
row.getDefaultCellTextState().setFont(FontRepository.findFont("MS Mincho"));
row.getCells().add("MS明朝");
row.getCells().add("ABCXYZ0123");
row.getCells().add("あいうえお漢字");

row = tableDetail.getRows().add();
row.getDefaultCellTextState().setFont(FontRepository.findFont("Meiryo"));
row.getCells().add("メイリオ");
row.getCells().add("ABCXYZ0123");
row.getCells().add("あいうえお漢字");

page.getParagraphs().add(tableDetail);

pdfDocument.save(dataDir + "output.pdf");

DifferentFontHeight.png (12.6 KB)
output.pdf (415.4 KB)

MS明朝とメイリオではフォントの幅とサイズが違うことに気づきました。スクリーンショットも添付されています。同じことがあなたが話している問題であるかどうかを確認してください。それに応じて、さらにサポートを進めていきます。

作成いただいたPDF(output.pdf)の事象と、今回問合せをさせていただいている事象は同じ事象です。
文字の重なりを回避できる方法を検討していただけますでしょうか。

@koga

ID PDFJAVA-40451のチケットが、問題追跡システムで作成され、問題をさらに調査します。 このスレッドは問題にリンクされているため、問題が修正されたら通知を受けることができます。