Définir la propriété DefaultFont des options PdfSaveOptions et ImageOrPrintOptions pour avoir priorité avec Node.js via C++
Scénarios d’utilisation possibles
En définissant la propriété DefaultFont de PdfSaveOptions et ImageOrPrintOptions, vous pourriez vous attendre à ce que l’enregistrement en PDF ou en image définit cette police par défaut pour tout le texte dans un classeur qui a une police manquante (non installée).
Généralement, lors de l’enregistrement en PDF ou en image, Aspose.Cells for Node.js via C++ tentera d’abord de définir la police par défaut du classeur (c’est-à-dire Workbook.DefaultStyle.Font). Si la police par défaut du classeur ne peut toujours pas afficher/rendre le texte correctement, Aspose.Cells essaiera de rendre avec la police mentionnée dans l’attribut DefaultFont dans PdfSaveOptions/ImageOrPrintOptions.
Pour répondre à votre attente, nous avons une propriété booléenne nommée “CheckWorkbookDefaultFont” dans PdfSaveOptions/ImageOrPrintOptions. Vous pouvez la définir sur false pour désactiver l’essai de la police par défaut du classeur ou laisser la définition de DefaultFont dans PdfSaveOptions/ImageOrPrintOptions avoir la priorité.
Définir la propriété DefaultFont de PdfSaveOptions/ImageOrPrintOptions
Le code d’exemple suivant ouvre un fichier Excel. La cellule A1 (dans la première feuille) a un texte défini sur “Christmas Time Font text”. Le nom de la police est “Christmas Time Personal Use” qui n’est pas installée sur la machine. Nous définissons l’attribut DefaultFont de PdfSaveOptions/ImageOrPrintOptions à “Times New Roman”. Nous configurons également la propriété booléenne CheckWorkbookDefaultFont à “false” pour garantir que le texte de la cellule A1 est rendu avec la police “Times New Roman” et ne doit pas utiliser la police par défaut du classeur (“Calibri” dans ce cas). Le code rend la première feuille en formats PNG et TIFF. Finalement, il la rend en format PDF.
Il s’agit de la capture d’écran du fichier modèle utilisé dans le code exemple.

Voici l’image PNG de sortie après avoir réglé la propriété ImageOrPrintOptions.getDefaultFont() à “Times New Roman”.

Voir l’image TIFF de sortie après avoir réglé la propriété ImageOrPrintOptions.getDefaultFont() à “Times New Roman”.
Voir le fichier PDF après avoir réglé la propriété PdfSaveOptions.getDefaultFont() à “Times New Roman”.
Code d’exemple
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const sourceDir = path.join(__dirname, "data");
const outputDir = path.join(__dirname, "output");
// Open an Excel file.
const workbook = new AsposeCells.Workbook(path.join(sourceDir, "sampleSetDefaultFontPropertyOfPdfSaveOptionsAndImageOrPrintOptions.xlsx"));
// Rendering to PNG file format while setting the CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not installed) font in the workbook.
const imgOpt = new AsposeCells.ImageOrPrintOptions();
imgOpt.setImageType(AsposeCells.ImageType.Png);
imgOpt.setCheckWorkbookDefaultFont(false);
imgOpt.setDefaultFont("Times New Roman");
const sr = new AsposeCells.SheetRender(workbook.getWorksheets().get(0), imgOpt);
sr.toImage(0, path.join(outputDir, "out1_imagePNG.png"));
// Rendering to TIFF file format while setting the CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not installed) font in the workbook.
imgOpt.setImageType(AsposeCells.ImageType.Tiff);
const wr = new AsposeCells.WorkbookRender(workbook, imgOpt);
wr.toImage(path.join(outputDir, "out1_imageTIFF.tiff"));
// Rendering to PDF file format while setting the CheckWorkbookDefaultFont attribute to false.
// So, "Times New Roman" font would be used for any missing (not installed) font in the workbook.
const saveOptions = new AsposeCells.PdfSaveOptions();
saveOptions.setDefaultFont("Times New Roman");
saveOptions.setCheckWorkbookDefaultFont(false);
workbook.save(path.join(outputDir, "out1_pdf.pdf"), saveOptions);