Obtenga DrawObject y Bound mientras renderiza a PDF usando la clase DrawObjectEventHandler
Posibles escenarios de uso
Aspose.Cells proporciona una clase abstractaDrawObjectEventHandler que tiene undibujar() método. El usuario puede implementarDrawObjectEventHandlery utilizar eldibujar() método para obtener elDibujarObjetoyLigadomientras renderiza Excel a PDF o Imagen. Aquí hay una breve descripción de los parámetros deldibujar() método.
-
dibujarObjeto:DibujarObjetose inicializará y devolverá al renderizar
-
x: A la izquierda deDibujarObjeto
-
y: Parte superior deDibujarObjeto
-
ancho: Ancho deDibujarObjeto
-
altura: Altura deDibujarObjeto
Si está procesando un archivo de Excel en PDF, puede utilizarDrawObjectEventHandlerclase conPdfSaveOptions.DrawObjectEventHandler. Del mismo modo, si está procesando un archivo de Excel en una imagen, puede utilizarDrawObjectEventHandlerclase conImageOrPrintOptions.DrawObjectEventHandler.
Obtenga DrawObject y Bound mientras renderiza a Pdf usando la clase DrawObjectEventHandler
Consulte el siguiente código de ejemplo. carga elejemplo de archivo de Excely lo guarda comosalida PDF. Mientras se renderiza a PDF, utilizaPdfSaveOptions.DrawObjectEventHandlerpropiedad y captura laDibujarObjeto yLigadode celdas y objetos existentes, por ejemplo, imágenes, etc. Si el tipo drawObject es Cell, imprime su Bound y StringValue. Y si el tipo de objeto de dibujo es Imagen, imprime su Nombre de forma y límite. Consulte la salida de la consola del código de muestra que se proporciona a continuación para obtener más ayuda.
Código de muestra
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
import com.aspose.cells.*; | |
import AsposeCellsExamples.Utils; | |
public class GetDrawObjectAndBoundUsingDrawObjectEventHandler { | |
static String srcDir = Utils.Get_SourceDirectory(); | |
static String outDir = Utils.Get_OutputDirectory(); | |
//Implement the concrete class of DrawObjectEventHandler | |
class clsDrawObjectEventHandler extends DrawObjectEventHandler | |
{ | |
public void draw(DrawObject drawObject, float x, float y, float width, float height) | |
{ | |
System.out.println(); | |
//Print the coordinates and the value of Cell object | |
if (drawObject.getType() == DrawObjectEnum.CELL) | |
{ | |
System.out.println("[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() == DrawObjectEnum.IMAGE) | |
{ | |
System.out.println("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Shape Name]: " + drawObject.getShape().getName()); | |
} | |
System.out.println("----------------------"); | |
} | |
} | |
void Run() throws Exception | |
{ | |
//Load sample Excel file | |
Workbook wb = new Workbook(srcDir + "sampleGetDrawObjectAndBoundUsingDrawObjectEventHandler.xlsx"); | |
//Specify Pdf save options | |
PdfSaveOptions opts = new PdfSaveOptions(); | |
//Assign the instance of DrawObjectEventHandler class | |
opts.setDrawObjectEventHandler(new clsDrawObjectEventHandler()); | |
//Save to Pdf format with Pdf save options | |
wb.save(outDir + "outputGetDrawObjectAndBoundUsingDrawObjectEventHandler.pdf", opts); | |
} | |
public static void main(String[] args) throws Exception { | |
System.out.println("Aspose.Cells for Java Version: " + CellsHelper.getVersion()); | |
new GetDrawObjectAndBoundUsingDrawObjectEventHandler().Run(); | |
// Print the message | |
System.out.println("GetDrawObjectAndBoundUsingDrawObjectEventHandler executed successfully."); | |
} | |
} |
Salida de consola
[X]: 153.60349 [Y]: 82.94118 [Width]: 103.203476 [Height]: 14.470589 [Cell Value]: This is sample text.
\----------------------
[X]: 267.28854 [Y]: 153.12354 [Width]: 161.25542 [Height]: 128.78824 [Shape Name]: Sun
\----------------------