افزودن گرافیکهای برداری به فایلهای PDF یک نیاز رایج برای تولید گزارشها، فاکتورها و اسناد تعاملی است. Conholdate.Total for Java یک SDK قدرتمند است که دستکاری PDF را در سمت سرور ساده میکند. در این راهنما خواهید آموخت که چگونه مستطیلها، بیضیها و خطوط را با استفاده از شیء Graph به یک PDF اضافه کنید، ظاهر آنها را پیکربندی کنید و ملاحظات عملکردی را مدیریت کنید، همه اینها با مثالهای واضح کد Java.
مراحل افزودن اشکال به PDF در جاوا
- افزودن مخزن Maven و وابستگی - مخزن Maven Conholdate و وابستگی
conholdate-totalرا در فایلpom.xmlخود گنجانید. این کار کلاسهای SDK مانندDocument،PageوGraphرا در دسترس میگذارد.<repositories> <repository> <id>conholdate-repo</id> <name>Conholdate Maven Repository</name> <url>https://repository.conholdate.com/repo/</url> </repository> </repositories>
- ایجاد سند PDF و یک صفحه - یک نمونه از
Documentایجاد کنید و یک صفحه به مجموعه صفحات آن اضافه کنید. این کلاس در مرجع API مستند شده است.
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
- Create Shape Objects - ابتدا یک شیء
Graphایجاد کنید، سپس مستطیلها، بیضیها یا خطوط را نمونهسازی کرده و به مجموعهٔ اشکال آن اضافه کنید. موقعیت، اندازه و ویژگیهای بصری را از طریقGraphInfoهر شکل تنظیم کنید.
// Create Graph instance
com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);
// Rectangle
com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
graph.getShapes().add(rect);
// Ellipse
com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
graph.getShapes().add(ellipse);
// Line
com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
line.getGraphInfo().setLineWidth(3);
graph.getShapes().add(line);
افزودن اشکال به صفحه - اشکال جداگانه در مجموعهٔ اشکال شیء
Graphقرار دارند. شیءGraphرا به مجموعهٔ پاراگرافهای صفحه اضافه کنید تا تمام اشکالی که شامل آن میشود در آن صفحه رندر شوند.// Add graph object to paragraphs collection of page instance page.getParagraphs().add(graph);ذخیره PDF بهروزرسانیشده - پس از اینکه نمودار (با تمام شکلهای آن) به صفحه اضافه شد، سند را در یک فایل جدید ذخیره کنید.
// Save PDF file
doc.save("Shapes.pdf");
اضافه کردن اشکال به PDF در جاوا - مثال کامل کد
مثال زیر تمام مراحل را در یک برنامهٔ آماده‑به‑اجرا ترکیب میکند.
import com.aspose.pdf.Document;
import com.aspose.pdf.Color;
public class AddShapesDemo {
public static void main(String[] args) throws Exception {
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
// Create Graph instance
com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);
// Create Rectangle instance
com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
// Add rectangle object to shapes collection of Graph object
graph.getShapes().add(rect);
// Create ellipse
com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
// Add ellipse object to shapes collection of Graph object
graph.getShapes().add(ellipse);
// Create line
com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
line.getGraphInfo().setLineWidth(3);
// Add line object to shapes collection of Graph object
graph.getShapes().add(line);
// Add graph object to paragraphs collection of page instance
page.getParagraphs().add(graph);
// Save PDF file
doc.save("Shapes.pdf");
}
}
توجه: این مثال کد عملکرد اصلی را نشان میدهد. قبل از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیر فایل خروجی (
Shapes.pdf) را به مکان هدف واقعی خود بهروز کنید، بررسی کنید که تمام وابستگیهای مورد نیاز بهدرستی نصب شدهاند و بهطور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک با تیم پشتیبانی تماس بگیرید.
نصب و راهاندازی در جاوا
برای شروع استفاده از Conholdate.Total for Java، آخرین نسخه را از سایت رسمی دانلود کنید و وابستگی Maven که قبلاً نشان داده شد را اضافه کنید. SDK بر روی هر زمان اجرا Java 8+ کار میکند و نیازی به کتابخانههای بومی اضافی ندارد.
- آدرس دانلود: Conholdate.Total for Java Release
- مستندات: دستورالعملهای دقیق استفاده در مستندات رسمی موجود است.
- مجوز: یک مجوز موقت را از صفحه مجوز موقت دریافت کنید یا قیمتگذاری کامل را در صفحه قیمتگذاری مشاهده کنید.
ویژگیهای کلیدی و مرور کلی
افزودن اشکال به PDF در جاوا با Conholdate.Total
Conholdate.Total for Java یک API یکپارچه برای ایجاد و ویرایش محتوای PDF فراهم میکند. قابلیت رسم اشکال با گرافیکهای برداری از طریق شیء Graph و مجموعهٔ اشکال آن کار میکند، بهطوری که عناصر اضافهشده در هر سطح زوم واضح باقی بمانند. میتوانید primitives پایهای (مستطیل، بیضی، خط) را رسم کنید و چندین مورد را داخل یک Graph ترکیب کنید قبل از اینکه آن را روی صفحه قرار دهید.
ویژگیهای Conholdate.Total که برای این کار مهم هستند
- سازگاری چند‑پلتفرمی: بر روی سرورهای Windows، Linux و macOS کار میکند.
- رندرینگ با کارایی بالا: اشکال با استفاده از همان موتور که محتوای PDF بومی را تولید میکند، رندر میشوند و از رستر شدن جلوگیری میشود.
- کنترل کامل بر ظاهر: رنگ خط و ضخامت خط را برای هر شکل از طریق شیء
GraphInfoتنظیم کنید. - گرافیکهای گروهی: چندین شکل را به یک شیء
Graphاضافه کنید تا بتوانند در صفحه بهصورت مشترک موقعیتیابی و مدیریت شوند.
پیکربندی ویژگیهای شکل برای رندر بهینه
هنگام افزودن شکلها، ویژگیهای زیر را در نظر بگیرید تا به نتیجه بصری مطلوب برسید:
- موقعیت و اندازه: سازندههای شکل مختصات و ابعاد را بر حسب نقطه دریافت میکنند، به عنوان مثال
new Rectangle(100, 100, 170, 120)یاnew Ellipse(300, 150, 150, 100). - قرارگیری گراف: خود شیء
Graphباnew Graph(width, height)موقعیتیابی میشود و از طریقpage.getParagraphs().add(graph)به صفحه اضافه میشود. - رنگها: از کلاس
com.aspose.pdf.Colorاستفاده کنید (به عنوان مثالColor.getGreen()یاColor.getRed()) و آن را باshape.getGraphInfo().setColor(...)بر روی یک شکل تنظیم کنید. - عرض خط: با
shape.getGraphInfo().setLineWidth(...)تنظیم میشود، که بر حسب نقطه اندازهگیری میشود؛ مقدار1برابر با 1/72 اینچ است. - خطوط: یک شکل
Lineاز آرایهای از مختصات ساخته میشود، به عنوان مثالnew Line(new float[]{100, 300, 400, 300})که نقاط شروع و پایان خط را نشان میدهد.
مثال تنظیم ظاهر شکل:
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
ملاحظات عملکرد هنگام افزودن اشکال به PDFها
افزودن تعداد زیادی از اشیاء برداری میتواند زمان پردازش و مصرف حافظه را افزایش دهد. این راهنماها را دنبال کنید:
- رسم دستهای: گروهی از اشکال مرتبط را در یک شیء
Graphواحد قبل از افزودن آن به صفحه گروهبندی کنید. - استفاده مجدد از اشیاء: اگر به اشکال یکسان در چند صفحه نیاز دارید، به جای تکرار، منطق پیکربندی اشکال را مجدداً استفاده کنید.
- اجتناب از بزرگنمایی بیش از حد: اشکال را با اندازه نهایی نمایش تعریف کنید تا از تبدیلهای پرهزینه رستر جلوگیری شود.
- آزادسازی منابع: پس از افزودن تمام اشکال،
Documentرا بهسرعت ذخیره و آزاد کنید.
نتیجهگیری
Conholdate.Total for Java به توسعهدهندگان جاوا روشی ساده برای افزودن اشکال به اسناد PDF ارائه میدهد و امکان ایجاد گزارشها و فاکتورهای غنی و تعاملی را فراهم میکند. با دنبال کردن مراحل، نکات پیکربندی و راهنماییهای عملکردی در این راهنما، میتوانید گرافیکهای برداری را با اطمینان در جریان کاری PDF خود ادغام کنید. به یاد داشته باشید برای استفاده در تولید، یک لایسنس مناسب تهیه کنید؛ یک لایسنس موقت برای ارزیابی موجود است و جزئیات کامل قیمتگذاری در صفحه قیمتگذاری آمده است.
سؤالات متداول
آیا برای هر شکل باید یک شیء Graph ایجاد کنم؟
خیر. یک شیء Graph میتواند چندین شکل را در خود نگه دارد — مستطیلها، بیضیها و خطوط میتوانند همه به مجموعهٔ اشکال همان گراف اضافه شوند قبل از اینکه گراف به صفحه اضافه شود.
آیا میتوان اشکال را به صفحه خاصی از یک PDF چندصفحهای اضافه کرد؟
بله. صفحه هدف را از doc.getPages() بازیابی کنید و بر روی همان نمونهٔ Page متد page.getParagraphs().add(graph) را فراخوانی کنید.
چه فرمتهای فایلی میتوانم پس از افزودن اشکال صادر کنم؟
متد Document.save() در Conholdate.Total for Java میتواند به PDF و همچنین سایر فرمتهای پشتیبانیشده توسط SDK بنویسد. از doc.save("Shapes.pdf") برای ذخیره نتیجه بهعنوان یک فایل PDF استاندارد استفاده کنید.
