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

Scénarios d’utilisation possibles

Aspose.Cells fournit une classe abstraite DrawObjectEventHandler qui a une méthode Draw(). L’utilisateur peut implémenter DrawObjectEventHandler et utiliser la méthode Draw() pour obtenir DrawObject et Bound lors du rendu Excel au format PDF ou Image. Voici une brève description des paramètres de la méthode Draw().

Si vous convertissez un fichier Excel en PDF, vous pouvez utiliser la classe DrawObjectEventHandler avec PdfSaveOptions.DrawObjectEventHandler. De même, si vous convertissez un fichier Excel en Image, vous pouvez utiliser la classe DrawObjectEventHandler avec ImageOrPrintOptions.DrawObjectEventHandler.

Obtenez DrawObject et Bound lors du rendu au format Pdf en utilisant la classe DrawObjectEventHandler

Veuillez voir le code d’exemple suivant. Il charge le fichier Excel d’exemple et l’enregistre en PDF de sortie. Lors du rendu au format PDF, il utilise la propriété PdfSaveOptions.DrawObjectEventHandler et capture DrawObject et Bound des cellules et objets existants tels que des images, etc. Si le type DrawObject est Cellule, il affiche sa Bound et StringValue. Et si le type DrawObject est Image, il affiche sa Bound et le nom de la forme. Veuillez consulter la sortie console du code d’exemple ci-dessous pour plus d’aide.

Code d’exemple

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Aspose.Cells.Rendering;
namespace Aspose.Cells.Examples.CSharp.Rendering
{
class GetDrawObjectAndBoundUsingDrawObjectEventHandler
{
//Implement the concrete class of DrawObjectEventHandler
class clsDrawObjectEventHandler : DrawObjectEventHandler
{
public override void Draw(DrawObject drawObject, float x, float y, float width, float height)
{
Console.WriteLine("");
//Print the coordinates and the value of Cell object
if (drawObject.Type == DrawObjectEnum.Cell)
{
Console.WriteLine("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Cell Value]: " + drawObject.Cell.StringValue);
}
//Print the coordinates and the shape name of Image object
if (drawObject.Type == DrawObjectEnum.Image)
{
Console.WriteLine("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Shape Name]: " + drawObject.Shape.Name);
}
Console.WriteLine("----------------------");
}
}
public static void Run()
{
//Load sample Excel file
Workbook wb = new Workbook("sampleGetDrawObjectAndBoundUsingDrawObjectEventHandler.xlsx");
//Specify Pdf save options
PdfSaveOptions opts = new PdfSaveOptions();
//Assign the instance of DrawObjectEventHandler class
opts.DrawObjectEventHandler = new clsDrawObjectEventHandler();
//Save to Pdf format with Pdf save options
wb.Save("outputGetDrawObjectAndBoundUsingDrawObjectEventHandler.pdf", opts);
}
}
}

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

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