DrawObjectEventHandler sınıfını kullanarak PDF ye render ederken DrawObject ve Bound almak
Olası Kullanım Senaryoları
Aspose.Cells, bir DrawObjectEventHandler soyut sınıf sağlar, bu sınıfın bir draw() yöntemi bulunur. Kullanıcı, DrawObjectEventHandler uygulayabilir ve Excel’in PDF veya görüntüye render edilirken draw() yöntemini ve DrawObject ve Bound‘u alabilir. Aşağıda, draw() yönteminin parametrelerine kısa bir açıklaması bulunmaktadır.
-
drawObject: Render edilirken başlatılacak ve döndürülecek DrawObject
-
x: DrawObject‘nın solu
-
y: DrawObject‘nın üstü
-
width:DrawObject‘nın genişliği
-
height: DrawObject‘nın yüksekliği
Eğer Excel dosyanızı PDF’ye render ediyorsanız, DrawObjectEventHandler sınıfını PdfSaveOptions.DrawObjectEventHandler ile kullanabilirsiniz. Benzer şekilde, Excel dosyanızı Görüntü’ye render ediyorsanız, DrawObjectEventHandler sınıfını PdfSaveOptions.DrawObjectEventHandler ile kullanabilirsiniz.
DrawObjectEventHandler sınıfını kullanarak PDF’ye render ederken DrawObject ve Bound almak
Lütfen aşağıdaki örnek kodu inceleyin. Bu, örnek Excel dosyasını yükler ve bu dosyayı çıktı PDF’si olarak kaydeder. PDF’ye render edilirken, PdfSaveOptions.DrawObjectEventHandler özelliğini kullanır ve mevcut hücrelerin ve nesnelerin (örneğin resimler vb.) Bound‘unu ve Bound‘unu yakalar. drawObject türü Cell ise, Bound’unu ve StringValue’sunu yazdırır. Ve eğer drawObject türü Image ise, Bound’unu ve Şekil Adını yazdırır. Yardım için lütfen aşağıdaki örnek kodun konsol çıktısına bakın.
Örnek Kod
// 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."); | |
} | |
} |
Konsol Çıktısı
[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
\----------------------