<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>pdf shape manipulation on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/fa/tag/pdf-shape-manipulation/</link>
    <description>Recent content in pdf shape manipulation on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fa</language>
    <lastBuildDate>Fri, 05 Jun 2026 18:38:01 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/fa/tag/pdf-shape-manipulation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>افزودن اشکال به PDF در جاوا</title>
      <link>https://blog-qa.conholdate.com/fa/total/add-shapes-to-pdf-in-java/</link>
      <pubDate>Fri, 05 Jun 2026 18:38:01 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/fa/total/add-shapes-to-pdf-in-java/</guid>
      <description>یاد بگیرید چگونه به PDF در Java اشکال اضافه کنید با استفاده از Conholdate.Total for Java. این راهنمای گام‌به‌گام را با کد، تنظیمات و بهترین روش‌ها برای گرافیک‌های برداری دنبال کنید.</description>
      <content:encoded><![CDATA[<p>افزودن گرافیک‌های برداری به فایل‌های <a href="https://docs.fileformat.com/pdf">PDF</a> یک نیاز رایج برای تولید گزارش‌ها، فاکتورها و اسناد تعاملی است. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> یک SDK قدرتمند است که دستکاری PDF را در سمت سرور ساده می‌کند. در این راهنما خواهید آموخت که چگونه مستطیل‌ها، بیضی‌ها و خطوط را به یک PDF اضافه کنید، ظاهر آن‌ها را پیکربندی کنید و ملاحظات عملکردی را مدیریت کنید، همه با مثال‌های واضح کد Java.</p>
<h2 id="مراحل-افزودن-اشکال-به-pdf-در-جاوا">مراحل افزودن اشکال به PDF در جاوا</h2>
<ol>
<li><strong>افزودن مخزن Maven و وابستگی</strong> - مخزن Maven Conholdate و وابستگی <code>conholdate-total</code> را در فایل <code>pom.xml</code> خود اضافه کنید. این کار کلاس‌های SDK مانند <code>PdfDocument</code> و <code>ShapeFactory</code> را در دسترس قرار می‌دهد.
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#f92672">&lt;repositories&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;repository&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;id&gt;</span>conholdate-repo<span style="color:#f92672">&lt;/id&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;name&gt;</span>Conholdate Maven Repository<span style="color:#f92672">&lt;/name&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;url&gt;</span>https://repository.conholdate.com/repo/<span style="color:#f92672">&lt;/url&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;/repository&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/repositories&gt;</span>
</span></span></code></pre></div></li>
</ol>
<!-- raw HTML omitted -->
<ol start="2">
<li><strong>Load the PDF Document</strong> - یک نمونه از <code>PdfDocument</code> ایجاد کنید و فایل PDF هدف را باز کنید. این کلاس در <a href="https://reference.conholdate.com/java/">مرجع API</a> مستند شده است.</li>
</ol>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>PdfDocument pdf <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> PdfDocument<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">open</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><ol start="3">
<li><strong>Create Shape Objects</strong> - از <code>ShapeFactory</code> برای ایجاد مستطیل‌ها، بیضی‌ها یا خطوط استفاده کنید. موقعیت، اندازه و ویژگی‌های بصری را تنظیم کنید.
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#75715e">// Rectangle
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>Shape rect <span style="color:#f92672">=</span> ShapeFactory<span style="color:#f92672">.</span><span style="color:#a6e22e">createRectangle</span><span style="color:#f92672">(</span>100<span style="color:#f92672">,</span> 150<span style="color:#f92672">,</span> 200<span style="color:#f92672">,</span> 100<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>rect<span style="color:#f92672">.</span><span style="color:#a6e22e">setFillColor</span><span style="color:#f92672">(</span>Color<span style="color:#f92672">.</span><span style="color:#a6e22e">BLUE</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>rect<span style="color:#f92672">.</span><span style="color:#a6e22e">setStrokeColor</span><span style="color:#f92672">(</span>Color<span style="color:#f92672">.</span><span style="color:#a6e22e">BLACK</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>rect<span style="color:#f92672">.</span><span style="color:#a6e22e">setLineWidth</span><span style="color:#f92672">(</span>2<span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
</ol>
<p>// Ellipse
Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100);
ellipse.setFillColor(Color.GREEN);
ellipse.setStrokeColor(Color.DARK_GRAY);
ellipse.setLineWidth(1.5f);</p>
<pre tabindex="0"><code>// Line
   Shape line = ShapeFactory.createLine(100, 300, 500, 300);
   line.setStrokeColor(Color.RED);
   line.setLineWidth(3);
</code></pre><ol start="4">
<li>
<p><strong>اضافه کردن اشکال به یک صفحه</strong> - صفحه مورد نظر را از سند بازیابی کنید و هر شکل را به مجموعه گرافیک‌های آن اضافه کنید.</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>Page page <span style="color:#f92672">=</span> pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">getPages</span><span style="color:#f92672">().</span><span style="color:#a6e22e">get_Item</span><span style="color:#f92672">(</span>0<span style="color:#f92672">);</span> <span style="color:#75715e">// first page
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>page<span style="color:#f92672">.</span><span style="color:#a6e22e">getGraphics</span><span style="color:#f92672">().</span><span style="color:#a6e22e">addShape</span><span style="color:#f92672">(</span>rect<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>page<span style="color:#f92672">.</span><span style="color:#a6e22e">getGraphics</span><span style="color:#f92672">().</span><span style="color:#a6e22e">addShape</span><span style="color:#f92672">(</span>ellipse<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>page<span style="color:#f92672">.</span><span style="color:#a6e22e">getGraphics</span><span style="color:#f92672">().</span><span style="color:#a6e22e">addShape</span><span style="color:#f92672">(</span>line<span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
<li>
<p><strong>ذخیره PDF به‌روزرسانی‌شده</strong> - پس از افزودن تمام اشکال، سند را در یک فایل جدید ذخیره کنید.</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;output.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">close</span><span style="color:#f92672">();</span>
</span></span></code></pre></div></li>
</ol>
<h2 id="افزودن-اشکال-به-pdf-در-جاوا---مثال-کامل-کد">افزودن اشکال به PDF در جاوا - مثال کامل کد</h2>
<p>مثال زیر تمام مراحل را در یک برنامهٔ آماده‑به‑اجرا ترکیب می‌کند.</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.conholdate.total.pdf.*<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.conholdate.total.pdf.shapes.*<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.awt.Color<span style="color:#f92672">;</span>
</span></span></code></pre></div><p>public class AddShapesDemo {
public static void main(String[] args) throws Exception {
// Initialize PDF document
PdfDocument pdf = new PdfDocument();
pdf.open(&ldquo;input.pdf&rdquo;);</p>
<pre tabindex="0"><code>// Create rectangle
Shape rectangle = ShapeFactory.createRectangle(100, 150, 200, 100);
rectangle.setFillColor(Color.BLUE);
rectangle.setStrokeColor(Color.BLACK);
rectangle.setLineWidth(2);
</code></pre><pre tabindex="0"><code>// ایجاد بیضی
        Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100);
        ellipse.setFillColor(Color.GREEN);
        ellipse.setStrokeColor(Color.DARK_GRAY);
        ellipse.setLineWidth(1.5f);
</code></pre><pre tabindex="0"><code>// Create line
        Shape line = ShapeFactory.createLine(100, 300, 500, 300);
        line.setStrokeColor(Color.RED);
        line.setLineWidth(3);
</code></pre><p>// افزودن اشکال به صفحه اول
Page page = pdf.getPages().get_Item(0);
page.getGraphics().addShape(rectangle);
page.getGraphics().addShape(ellipse);
page.getGraphics().addShape(line);</p>
<pre tabindex="0"><code>// Save the result
pdf.save(&#34;output.pdf&#34;);
pdf.close();
}
}
</code></pre><!-- raw HTML omitted -->
<blockquote>
<p><strong>توجه:</strong> این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیرهای فایل (<code>input.pdf</code>, <code>output.pdf</code>) را به مکان‌های واقعی خود به‌روز کنید، بررسی کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به <a href="https://docs.conholdate.com/java/">مستندات رسمی</a> مراجعه کنید یا برای دریافت کمک با <a href="https://forum.conholdate.com/c/total/5">تیم پشتیبانی</a> تماس بگیرید.</p>
</blockquote>
<h2 id="نصب-و-راهاندازی-در-جاوا">نصب و راه‌اندازی در جاوا</h2>
<p>برای شروع استفاده از Conholdate.Total for Java، آخرین نسخه را از سایت رسمی دانلود کنید و وابستگی Maven نشان داده شده در بالا را اضافه کنید. SDK بر روی هر زمان اجرا Java 8+ کار می‌کند و نیازی به کتابخانه‌های بومی اضافی ندارد.</p>
<ul>
<li><strong>آدرس دانلود:</strong> <a href="https://releases.conholdate.com/total/java/">Conholdate.Total for Java Release</a></li>
<li><strong>مستندات:</strong> دستورالعمل‌های استفاده دقیق در <a href="https://docs.conholdate.com/java/">مستندات رسمی</a> موجود است.</li>
<li><strong>مجوز:</strong> یک مجوز موقت را از <a href="https://purchase.conholdate.com/temporary-license/">صفحه مجوز موقت</a> دریافت کنید یا قیمت‌گذاری کامل را در <a href="https://purchase.conholdate.com/pricing/total/family/">صفحه قیمت‌گذاری</a> مشاهده کنید.</li>
</ul>
<h2 id="ویژگیهای-کلیدی-و-مرور-کلی">ویژگی‌های کلیدی و مرور کلی</h2>
<h3 id="افزودن-اشکال-به-pdf-در-java-با-conholdatetotal">افزودن اشکال به PDF در Java با Conholdate.Total</h3>
<p>Conholdate.Total for Java یک API یکپارچه برای ایجاد و ویرایش محتوای PDF فراهم می‌کند. قابلیت رسم اشکال با گرافیک‌های برداری کار می‌کند و اطمینان می‌دهد که عناصر اضافه‌شده در هر سطح بزرگ‌نمایی واضح باقی بمانند. می‌توانید primitives پایه‌ای (مستطیل، بیضی، خط) و همچنین مسیرهای پیچیده را رسم کنید.</p>
<h3 id="conholdatetotal-features-that-matter-for-this-task">Conholdate.Total Features That Matter For This Task</h3>
<ul>
<li><strong>Cross‑platform compatibility:</strong> سازگاری چند‑پلتفرمی: بر روی سرورهای Windows، Linux و macOS کار می‌کند.</li>
<li><strong>High‑performance rendering:</strong> رندرینگ با عملکرد بالا: اشکال با استفاده از همان موتوری که محتوای PDF بومی را تولید می‌کند، رندر می‌شوند و از رستر شدن جلوگیری می‌شود.</li>
<li><strong>Full control over appearance:</strong> کنترل کامل بر ظاهر: رنگ‌های پر، رنگ‌های خط، ضخامت خطوط، شفافیت و حالت‌های <a href="https://docs.fileformat.com/3d/blend/">blend</a> را تنظیم کنید.</li>
<li><strong>Layered graphics:</strong> گرافیک لایه‌ای: اشکال را به لایه‌ها یا گروه‌های خاص اضافه کنید تا دستکاری بعدی راحت‌تر باشد.</li>
</ul>
<h2 id="پیکربندی-ویژگیهای-شکل-برای-رندر-بهینه">پیکربندی ویژگی‌های شکل برای رندر بهینه</h2>
<p>هنگام افزودن اشکال، ویژگی‌های زیر را در نظر بگیرید تا به نتیجه بصری مطلوب برسید.</p>
<ul>
<li><strong>موقعیت و اندازه:</strong> از مختصات مطلق (نقطه) یا درصدهای نسبی به اندازه صفحه استفاده کنید.</li>
<li><strong>رنگ‌ها:</strong> SDK اشیاء <code>java.awt.Color</code> را می‌پذیرد. برای شفافیت، از <code>new Color(r, g, b, alpha)</code> استفاده کنید.</li>
<li><strong>عرض خط:</strong> بر حسب نقطه اندازه‌گیری می‌شود؛ مقدار <code>1</code> برابر است با 1/72 اینچ.</li>
<li><strong>شفافیت و حالت ترکیب:</strong> با <code>setOpacity(float)</code> و <code>setBlendMode(BlendMode)</code> تنظیم کنید.</li>
<li><strong>چرخش و کج‌کردن:</strong> برای چیدمان‌های پیشرفته، تبدیل‌ها را از طریق <code>setRotation(double)</code> یا <code>setSkew(double, double)</code> اعمال کنید.</li>
</ul>
<p>مثال تنظیم ویژگی‌های پیشرفته:</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>ellipse<span style="color:#f92672">.</span><span style="color:#a6e22e">setOpacity</span><span style="color:#f92672">(</span>0<span style="color:#f92672">.</span><span style="color:#a6e22e">7f</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>ellipse<span style="color:#f92672">.</span><span style="color:#a6e22e">setBlendMode</span><span style="color:#f92672">(</span>BlendMode<span style="color:#f92672">.</span><span style="color:#a6e22e">MULTIPLY</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>ellipse<span style="color:#f92672">.</span><span style="color:#a6e22e">setRotation</span><span style="color:#f92672">(</span>45<span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<h2 id="ملاحظات-عملکرد-هنگام-افزودن-شکلها-به-pdfها">ملاحظات عملکرد هنگام افزودن شکل‌ها به PDFها</h2>
<p>افزودن تعداد زیادی از اشیای برداری می‌تواند زمان پردازش و مصرف حافظه را افزایش دهد. این راهنماها را دنبال کنید:</p>
<ul>
<li><strong>Batch Drawing:</strong> شکل‌های مرتبط را در یک محفظه گرافیکی واحد گروه‌بندی کنید قبل از افزودن به صفحه.</li>
<li><strong>Reuse Objects:</strong> اگر به شکل‌های یکسان در صفحات متعدد نیاز دارید، به جای ایجاد نمونه‌های جدید، یک شکل موجود را کلون کنید.</li>
<li><strong>Avoid Over‑Scaling:</strong> از بزرگ‌نمایی بیش از حد جلوگیری کنید: شکل‌ها را با اندازه نهایی نمایش تعریف کنید تا از تبدیل‌های پرهزینه رستر جلوگیری شود.</li>
<li><strong>Dispose Resources:</strong> منابع را آزاد کنید: <code>PdfDocument</code> را به‌سرعت ببندید تا منابع بومی آزاد شوند.</li>
</ul>
<h2 id="نتیجهگیری">نتیجه‌گیری</h2>
<p><a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> به توسعه‌دهندگان جاوا راهی ساده برای افزودن اشکال به اسناد PDF ارائه می‌دهد و امکان ایجاد گزارش‌ها و فاکتورهای غنی و تعاملی را فراهم می‌کند. با دنبال کردن مراحل، نکات پیکربندی و راهنمایی‌های عملکردی در این راهنما، می‌توانید گرافیک‌های برداری را با اطمینان در جریان کاری PDF خود ادغام کنید. به یاد داشته باشید برای استفاده در تولید، یک لایسنس مناسب تهیه کنید؛ یک لایسنس موقت برای ارزیابی در دسترس است و جزئیات کامل قیمت‌گذاری در <a href="https://purchase.conholdate.com/pricing/total/family/">صفحه قیمت‌گذاری</a> آمده است.</p>
<h2 id="سؤالات-متداول">سؤالات متداول</h2>
<p><strong>چگونه می‌توانم یک قلم سفارشی به اشکال در یک PDF اضافه کنم؟</strong><br>
می‌توانید یک قلم TrueType را با استفاده از <code>pdf.getFonts().addFont(&quot;MyFont.ttf&quot;)</code> جاسازی کنید و سپس آن را از طریق <code>setFont(myFont)</code> به یک شکل اختصاص دهید. SDK اطمینان می‌دهد که قلم در PDF نهایی جاسازی شده است.</p>
<p><strong>آیا امکان درج اشکال در یک PDF موجود بدون از دست دادن محتوای موجود وجود دارد؟</strong><br>
بله. باز کردن PDF با <code>PdfDocument.open()</code> تمام صفحات و اشیای موجود را حفظ می‌کند. افزودن اشکال به مجموعه گرافیک‌های یک صفحه تنها صفحه را تکمیل می‌کند؛ محتوای موجود را بازنویسی نمی‌کند.</p>
<p><strong>چه فرمت‌های فایلی می‌توانم پس از افزودن اشکال صادر کنم؟</strong><br>
Conholdate.Total for Java از ذخیره‌سازی به PDF، PDF/A، PDF/X و همچنین به فرمت‌های تصویری مانند <a href="https://docs.fileformat.com/image/png/">PNG</a>، <a href="https://docs.fileformat.com/image/jpeg/">JPEG</a>، و BMP پشتیبانی می‌کند. در صورت نیاز از <code>pdf.save(&quot;output.pdf&quot;)</code> یا <code>pdf.save(&quot;output.png&quot;, ImageSaveOptions.Png)</code> استفاده کنید.</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
