iwai
1
Aspose.Cells for Javaを利用し、ExcelファイルをPDFに変換する際に文字の表示幅や表示位置を印刷プレビューと同じように表示したいと考えております。
現在はエクセルで設定している各枠内から文字がはみ出る場合が存在しております。
環境は下記となります。
実行環境:Linux
文字フォント:ipaフォント
asposeのver:25.8
Windowsで確認した場合と文字フォントがMSフォント→ipaフォントになることが大きな原因だとは思います。しかし、MSフォントをLinux環境で使用できないため可能な限りipaフォントでMSフォントと同じ表示を再現したいと思っております。
文字の表示について試した方が良いメソッドや処理がありましたらご教授いただけますと幸いです。(文字の位置調整や文字サイズを小さくするなど)
お手数をおかけしますが、よろしくお願いいたします。
@iwai
Aspose.Cells for Javaを使用してExcelファイルをPDFに変換する際に、文字の表示幅や位置を印刷プレビューと同じように再現するためには、以下の手順を試してみてください。特に、フォントの違いが影響を与えることがあります。
-
フォントの設定: PDFに変換する前に、使用するフォントを設定します。Linux環境で特定のフォントを使用する場合、次のようにフォントマップを設定します。
PdfSaveOptions options = new PdfSaveOptions();
options.setTruetypeFontMapPath("/path/to/your/font/directory");
workbook.save("output.pdf", options);
-
セルのサイズ調整: セルの幅や高さを調整して、文字がはみ出さないようにします。以下のコードでセルの幅を設定できます。
Worksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getCells().setColumnWidth(0, 20); // 0は列番号
-
文字サイズの調整: 文字サイズを小さくすることで、表示が改善される場合があります。次のようにフォントサイズを設定できます。
Style style = worksheet.getCells().get("A1").getStyle();
style.setFontSize(10); // フォントサイズを10に設定
worksheet.getCells().get("A1").setStyle(style);
これらの方法を試して、PDF出力が印刷プレビューと一致するか確認してください。特にフォントの設定とセルのサイズ調整が重要です。
もし問題が解決しない場合は、具体的なサンプルファイルを用意してAsposeのフォーラムでさらなるサポートを求めることをお勧めします。
@iwai,
Linux環境ではMicrosoftのTrueTypeフォントを使用することをお勧めします。これにより、WindowsとLinuxの両方の環境で同じ表示が保証されます。Linuxで以下のパッケージをインストールして試してみてください。
e.g.,
sudo apt install ttf-mscorefonts-installer
LinuxでMicrosoftフォントをインストールしない場合、対応が難しくなると思います。とにかく、テンプレートのExcelファイルと、WindowsおよびLinuxで生成されたPDF出力を共有していただけますか?さらに詳しく調査します。
iwai
4
font_test.zip (482.9 KB)
Linux環境にフォントを導入できるか確認いたします。
テンプレートexcelファイル及び、windowsとLinuxで作成したPDFを添付いたします。
お手数をおかけしますが、よろしくお願いいたします。
@iwai ,
使用されているフォントが異なる場合、類似した出力を得ることは困難です。
ソースファイルで使用されているフォントと外観(文字幅、文字高さなど)が類似したフォントを探す必要があるかもしれません。
また、可能であれば、まずソースファイルで期待どおりの結果を得るために、フォント「IPAMincho」を使用してソースファイルを直接再設計することもできます。