Ändern Sie die Schriftart nur für bestimmte Unicode Zeichen beim Speichern in PDF

Beispiel

Der folgende Screenshot vergleicht die beiden Ausgabepdf-Dateien, die vom unten stehenden Beispielcode erstellt wurden.

Eine wurde ohne Einstellung der Eigenschaft PdfSaveOptions.IsFontSubstitutionCharGranularity erstellt, und die andere wurde nach Einstellung der Eigenschaft PdfSaveOptions.IsFontSubstitutionCharGranularity auf wahr erstellt.

Wie Sie im ersten PDF sehen können, wurde die Schriftart des gesamten Satzes von Times New Roman in Arial Unicode MS geändert, da der Bindestrich ohne Umbruch vorkam. Während im zweiten PDF nur die Schriftart des Bindestrichs ohne Umbruch geändert wurde.

Erste PDF-Datei
todo:image_alt_text
Zweite PDF-Datei
todo:image_alt_text

Beispielcode

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create workbook object
Workbook workbook = new Workbook();
// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Access cells
Cell cell1 = worksheet.Cells["A1"];
Cell cell2 = worksheet.Cells["B1"];
// Set the styles of both cells to Times New Roman
Style style = cell1.GetStyle();
style.Font.Name = "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" + Convert.ToChar(8209) + " with Non-Breaking Hyphen");
// Autofit the columns
worksheet.AutoFitColumns();
// Save to Pdf without setting PdfSaveOptions.IsFontSubstitutionCharGranularity
workbook.Save(dataDir + "SampleOutput_out.pdf");
// Save to Pdf after setting PdfSaveOptions.IsFontSubstitutionCharGranularity to true
PdfSaveOptions opts = new PdfSaveOptions();
opts.IsFontSubstitutionCharGranularity = true;
workbook.Save(dataDir + "SampleOutput2_out.pdf", opts);