PDF に保存するときに、特定の Unicode 文字だけのフォントを変更します

Contents
[ ]

次のスクリーンショットは、以下のサンプル コードによって生成された 2 つの出力 PDF を比較しています。 1つは設定せずに生成されましたPdfSaveOptions.setFontSubstitutionCharGranularity()プロパティと、もう一方は を設定した後に生成されたものですPdfSaveOptions.setFontSubstitutionCharGranularity()プロパティへ真実.最初の PDF でわかるように、Non-Breaking Hyphen により、文全体のフォントが Times New Roman から Arial Unicode MS に変更されています。 2 番目の PDF では、Non-Breaking Hyphen のフォントのみが変更されています。

todo:画像_代替_文章

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(ChangeFontonspecificUnicodecharacters.class);
// Create workbook object
Workbook workbook = new Workbook();
// Access the first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
// Access cells
Cell cell1 = worksheet.getCells().get("A1");
Cell cell2 = worksheet.getCells().get("B1");
// Set the styles of both cells to Times New Roman
Style style = cell1.getStyle();
style.getFont().setName("Times New Roman");
cell1.setStyle(style);
cell2.setStyle(style);
// Put the values inside the cell
cell1.putValue("Hello without Non-Breaking Hyphen");
cell2.putValue("Hello" + (char) (8209) + " with Non-Breaking Hyphen");
// Autofit the columns
worksheet.autoFitColumns();
// Save to Pdf without setting PdfSaveOptions.IsFontSubstitutionCharGranularity
workbook.save(dataDir + "output.pdf");
// Save to Pdf after setting PdfSaveOptions.IsFontSubstitutionCharGranularity to true
PdfSaveOptions opts = new PdfSaveOptions();
opts.setFontSubstitutionCharGranularity(true);
workbook.save(dataDir + "output2.pdf", opts);