Hämta DrawObject and Bound medan du renderar till PDF med DrawObjectEventHandler-klassen
Möjliga användningsscenarier
Aspose.Cells tillhandahåller en abstrakt klassDrawObjectEventHandler som har endra() metod. Användaren kan implementeraDrawObjectEventHandleroch utnyttjadra() metod för att fåDrawObjectochBundenmedan du renderar Excel till PDF eller Image. Här är en kort beskrivning av parametrarna fördra() metod.
-
drawObject:DrawObjectkommer att initieras och returneras vid rendering
-
x: Till vänster omDrawObject
-
y: Toppen avDrawObject
-
bredd: Bredd avDrawObject
-
höjd: Höjd påDrawObject
Om du renderar Excel-fil till PDF, kan du användaDrawObjectEventHandlerklass medPdfSaveOptions.DrawObjectEventHandler. På samma sätt, om du renderar Excel-fil till bild, kan du användaDrawObjectEventHandlerklass medImageOrPrintOptions.DrawObjectEventHandler.
Hämta DrawObject and Bound medan du renderar till PDF med DrawObjectEventHandler-klassen
Se följande exempelkod. Den laddarexempel på Excel-filoch sparar den somutgång PDF. Vid rendering till PDF använder denPdfSaveOptions.DrawObjectEventHandleregendom och fångarDrawObject ochBundenav befintliga celler och objekt, t.ex. bilder etc. Om drawObject-typen är Cell, skrivs dess Bound och StringValue ut. Och om drawObject-typen är Image, skrivs dess Bound and Shape Name ut. Se konsolutgången för exempelkoden nedan för mer hjälp.
Exempelkod
// 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."); | |
} | |
} |
Konsolutgång
[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
\----------------------