Obtenez DrawObject et Bound lors du rendu en PDF en utilisant la classe DrawObjectEventHandler avec Node.js via C++

Scénarios d’utilisation possibles

Aspose.Cells fournit une classe abstraite DrawObjectEventHandler qui dispose d’une méthode DrawObjectEventHandler.draw(DrawObject, number, number, number, number). L’utilisateur peut implémenter DrawObjectEventHandler et utiliser la méthode DrawObjectEventHandler.draw(DrawObject, number, number, number, number) pour obtenir le DrawObject et la limite lors du rendu d’Excel en PDF ou en image. Voici une brève description des paramètres de la méthode DrawObjectEventHandler.draw(DrawObject, number, number, number, number).

Si vous rendez un fichier Excel en PDF, vous pouvez utiliser la classe DrawObjectEventHandler avec PdfSaveOptions.getDrawObjectEventHandler(). De même, si vous rendez un fichier Excel en image, vous pouvez utiliser la classe DrawObjectEventHandler avec ImageOrPrintOptions.getDrawObjectEventHandler().

Obtenir DrawObject et Bound lors du rendu au format PDF en utilisant la classe DrawObjectEventHandler

Veuillez consulter le code d’exemple suivant. Il charge le fichier Excel d’exemple et le sauvegarde en tant que PDF de sortie. Lors du rendu en PDF, il utilise la propriété PdfSaveOptions.getDrawObjectEventHandler() et capture le DrawObject et la limite des cellules et objets existants, par exemple des images, etc. Si le type DrawObject est Cell, il affiche sa limite et sa valeur en chaîne. Et si le type DrawObject est Image, il affiche sa limite et le nom de sa forme. Veuillez consulter la sortie console du code d’exemple ci-dessous pour plus d’aide.

Code d’exemple

const AsposeCells = require("aspose.cells.node");

class ClsDrawObjectEventHandler extends AsposeCells.DrawObjectEventHandler {
draw(drawObject, x, y, width, height) {
console.log("");

// Print the coordinates and the value of Cell object
if (drawObject.getType() === AsposeCells.DrawObjectEnum.Cell) {
console.log(`[X]: ${x} [Y]: ${y} [Width]: ${width} [Height]: ${height} [Cell Value]: ${drawObject.getCell().getStringValue()}`);
}

// Print the coordinates and the shape name of Image object
if (drawObject.getType() === AsposeCells.DrawObjectEnum.Image) {
console.log(`[X]: ${x} [Y]: ${y} [Width]: ${width} [Height]: ${height} [Shape Name]: ${drawObject.getShape().getName()}`);
}

console.log("----------------------");
}
}

async function run() {
// Load sample Excel file
const workbook = new AsposeCells.Workbook("sampleGetDrawObjectAndBoundUsingDrawObjectEventHandler.xlsx");

// Specify Pdf save options
const opts = new AsposeCells.PdfSaveOptions();

// Assign the instance of DrawObjectEventHandler class
opts.setDrawObjectEventHandler(new ClsDrawObjectEventHandler());

// Save to Pdf format with Pdf save options
await workbook.saveAsync("outputGetDrawObjectAndBoundUsingDrawObjectEventHandler.pdf", opts);
}

run();

Sortie console

 [X]: 153.6035 [Y]: 82.94118 [Width]: 103.2035 [Height]: 14.47059 [Cell Value]: This is sample text.

----------------------

[X]: 267.6917 [Y]: 153.4853 [Width]: 160.4491 [Height]: 128.0647 [Shape Name]: Sun

----------------------