افزودن گرافیک‌های برداری به فایل‌های PDF یک نیاز رایج برای تولید گزارش‌ها، فاکتورها و اسناد تعاملی است. Conholdate.Total for Java یک SDK قدرتمند است که دستکاری PDF را در سمت سرور ساده می‌کند. در این راهنما خواهید آموخت که چگونه مستطیل‌ها، بیضی‌ها و خطوط را به یک PDF اضافه کنید، ظاهر آن‌ها را پیکربندی کنید و ملاحظات عملکردی را مدیریت کنید، همه با مثال‌های واضح کد Java.

مراحل افزودن اشکال به PDF در جاوا

  1. افزودن مخزن Maven و وابستگی - مخزن Maven Conholdate و وابستگی conholdate-total را در فایل pom.xml خود اضافه کنید. این کار کلاس‌های SDK مانند PdfDocument و ShapeFactory را در دسترس قرار می‌دهد.
    <repositories>
        <repository>
            <id>conholdate-repo</id>
            <name>Conholdate Maven Repository</name>
            <url>https://repository.conholdate.com/repo/</url>
        </repository>
    </repositories>
    
  1. Load the PDF Document - یک نمونه از PdfDocument ایجاد کنید و فایل PDF هدف را باز کنید. این کلاس در مرجع API مستند شده است.
PdfDocument pdf = new PdfDocument();
pdf.open("input.pdf");
  1. Create Shape Objects - از ShapeFactory برای ایجاد مستطیل‌ها، بیضی‌ها یا خطوط استفاده کنید. موقعیت، اندازه و ویژگی‌های بصری را تنظیم کنید.
    // Rectangle
    Shape rect = ShapeFactory.createRectangle(100, 150, 200, 100);
    rect.setFillColor(Color.BLUE);
    rect.setStrokeColor(Color.BLACK);
    rect.setLineWidth(2);
    

// Ellipse Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100); ellipse.setFillColor(Color.GREEN); ellipse.setStrokeColor(Color.DARK_GRAY); ellipse.setLineWidth(1.5f);

// Line
   Shape line = ShapeFactory.createLine(100, 300, 500, 300);
   line.setStrokeColor(Color.RED);
   line.setLineWidth(3);
  1. اضافه کردن اشکال به یک صفحه - صفحه مورد نظر را از سند بازیابی کنید و هر شکل را به مجموعه گرافیک‌های آن اضافه کنید.

    Page page = pdf.getPages().get_Item(0); // first page
    page.getGraphics().addShape(rect);
    page.getGraphics().addShape(ellipse);
    page.getGraphics().addShape(line);
    
  2. ذخیره PDF به‌روزرسانی‌شده - پس از افزودن تمام اشکال، سند را در یک فایل جدید ذخیره کنید.

    pdf.save("output.pdf");
    pdf.close();
    

افزودن اشکال به PDF در جاوا - مثال کامل کد

مثال زیر تمام مراحل را در یک برنامهٔ آماده‑به‑اجرا ترکیب می‌کند.

import com.conholdate.total.pdf.*;
import com.conholdate.total.pdf.shapes.*;
import java.awt.Color;

public class AddShapesDemo { public static void main(String[] args) throws Exception { // Initialize PDF document PdfDocument pdf = new PdfDocument(); pdf.open(“input.pdf”);

// Create rectangle
Shape rectangle = ShapeFactory.createRectangle(100, 150, 200, 100);
rectangle.setFillColor(Color.BLUE);
rectangle.setStrokeColor(Color.BLACK);
rectangle.setLineWidth(2);
// ایجاد بیضی
        Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100);
        ellipse.setFillColor(Color.GREEN);
        ellipse.setStrokeColor(Color.DARK_GRAY);
        ellipse.setLineWidth(1.5f);
// Create line
        Shape line = ShapeFactory.createLine(100, 300, 500, 300);
        line.setStrokeColor(Color.RED);
        line.setLineWidth(3);

// افزودن اشکال به صفحه اول Page page = pdf.getPages().get_Item(0); page.getGraphics().addShape(rectangle); page.getGraphics().addShape(ellipse); page.getGraphics().addShape(line);

// Save the result
pdf.save("output.pdf");
pdf.close();
}
}

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیرهای فایل (input.pdf, output.pdf) را به مکان‌های واقعی خود به‌روز کنید، بررسی کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک با تیم پشتیبانی تماس بگیرید.

نصب و راه‌اندازی در جاوا

برای شروع استفاده از Conholdate.Total for Java، آخرین نسخه را از سایت رسمی دانلود کنید و وابستگی Maven نشان داده شده در بالا را اضافه کنید. SDK بر روی هر زمان اجرا Java 8+ کار می‌کند و نیازی به کتابخانه‌های بومی اضافی ندارد.

ویژگی‌های کلیدی و مرور کلی

افزودن اشکال به PDF در Java با Conholdate.Total

Conholdate.Total for Java یک API یکپارچه برای ایجاد و ویرایش محتوای PDF فراهم می‌کند. قابلیت رسم اشکال با گرافیک‌های برداری کار می‌کند و اطمینان می‌دهد که عناصر اضافه‌شده در هر سطح بزرگ‌نمایی واضح باقی بمانند. می‌توانید primitives پایه‌ای (مستطیل، بیضی، خط) و همچنین مسیرهای پیچیده را رسم کنید.

Conholdate.Total Features That Matter For This Task

  • Cross‑platform compatibility: سازگاری چند‑پلتفرمی: بر روی سرورهای Windows، Linux و macOS کار می‌کند.
  • High‑performance rendering: رندرینگ با عملکرد بالا: اشکال با استفاده از همان موتوری که محتوای PDF بومی را تولید می‌کند، رندر می‌شوند و از رستر شدن جلوگیری می‌شود.
  • Full control over appearance: کنترل کامل بر ظاهر: رنگ‌های پر، رنگ‌های خط، ضخامت خطوط، شفافیت و حالت‌های blend را تنظیم کنید.
  • Layered graphics: گرافیک لایه‌ای: اشکال را به لایه‌ها یا گروه‌های خاص اضافه کنید تا دستکاری بعدی راحت‌تر باشد.

پیکربندی ویژگی‌های شکل برای رندر بهینه

هنگام افزودن اشکال، ویژگی‌های زیر را در نظر بگیرید تا به نتیجه بصری مطلوب برسید.

  • موقعیت و اندازه: از مختصات مطلق (نقطه) یا درصدهای نسبی به اندازه صفحه استفاده کنید.
  • رنگ‌ها: SDK اشیاء java.awt.Color را می‌پذیرد. برای شفافیت، از new Color(r, g, b, alpha) استفاده کنید.
  • عرض خط: بر حسب نقطه اندازه‌گیری می‌شود؛ مقدار 1 برابر است با 1/72 اینچ.
  • شفافیت و حالت ترکیب: با setOpacity(float) و setBlendMode(BlendMode) تنظیم کنید.
  • چرخش و کج‌کردن: برای چیدمان‌های پیشرفته، تبدیل‌ها را از طریق setRotation(double) یا setSkew(double, double) اعمال کنید.

مثال تنظیم ویژگی‌های پیشرفته:

ellipse.setOpacity(0.7f);
ellipse.setBlendMode(BlendMode.MULTIPLY);
ellipse.setRotation(45);

ملاحظات عملکرد هنگام افزودن شکل‌ها به PDFها

افزودن تعداد زیادی از اشیای برداری می‌تواند زمان پردازش و مصرف حافظه را افزایش دهد. این راهنماها را دنبال کنید:

  • Batch Drawing: شکل‌های مرتبط را در یک محفظه گرافیکی واحد گروه‌بندی کنید قبل از افزودن به صفحه.
  • Reuse Objects: اگر به شکل‌های یکسان در صفحات متعدد نیاز دارید، به جای ایجاد نمونه‌های جدید، یک شکل موجود را کلون کنید.
  • Avoid Over‑Scaling: از بزرگ‌نمایی بیش از حد جلوگیری کنید: شکل‌ها را با اندازه نهایی نمایش تعریف کنید تا از تبدیل‌های پرهزینه رستر جلوگیری شود.
  • Dispose Resources: منابع را آزاد کنید: PdfDocument را به‌سرعت ببندید تا منابع بومی آزاد شوند.

نتیجه‌گیری

Conholdate.Total for Java به توسعه‌دهندگان جاوا راهی ساده برای افزودن اشکال به اسناد PDF ارائه می‌دهد و امکان ایجاد گزارش‌ها و فاکتورهای غنی و تعاملی را فراهم می‌کند. با دنبال کردن مراحل، نکات پیکربندی و راهنمایی‌های عملکردی در این راهنما، می‌توانید گرافیک‌های برداری را با اطمینان در جریان کاری PDF خود ادغام کنید. به یاد داشته باشید برای استفاده در تولید، یک لایسنس مناسب تهیه کنید؛ یک لایسنس موقت برای ارزیابی در دسترس است و جزئیات کامل قیمت‌گذاری در صفحه قیمت‌گذاری آمده است.

سؤالات متداول

چگونه می‌توانم یک قلم سفارشی به اشکال در یک PDF اضافه کنم؟
می‌توانید یک قلم TrueType را با استفاده از pdf.getFonts().addFont("MyFont.ttf") جاسازی کنید و سپس آن را از طریق setFont(myFont) به یک شکل اختصاص دهید. SDK اطمینان می‌دهد که قلم در PDF نهایی جاسازی شده است.

آیا امکان درج اشکال در یک PDF موجود بدون از دست دادن محتوای موجود وجود دارد؟
بله. باز کردن PDF با PdfDocument.open() تمام صفحات و اشیای موجود را حفظ می‌کند. افزودن اشکال به مجموعه گرافیک‌های یک صفحه تنها صفحه را تکمیل می‌کند؛ محتوای موجود را بازنویسی نمی‌کند.

چه فرمت‌های فایلی می‌توانم پس از افزودن اشکال صادر کنم؟
Conholdate.Total for Java از ذخیره‌سازی به PDF، PDF/A، PDF/X و همچنین به فرمت‌های تصویری مانند PNG، JPEG، و BMP پشتیبانی می‌کند. در صورت نیاز از pdf.save("output.pdf") یا pdf.save("output.png", ImageSaveOptions.Png) استفاده کنید.