<?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>java pdf manipulation on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/fa/tag/java-pdf-manipulation/</link>
    <description>Recent content in java pdf manipulation on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fa</language>
    <lastBuildDate>Fri, 08 May 2026 19:48:35 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/fa/tag/java-pdf-manipulation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>افزودن یا حذف صفحات در PDF با استفاده از Java</title>
      <link>https://blog-qa.conholdate.com/fa/total/add-or-delete-pages-in-pdf-using-java/</link>
      <pubDate>Fri, 08 May 2026 19:48:35 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/fa/total/add-or-delete-pages-in-pdf-using-java/</guid>
      <description>نحوه افزودن یا حذف صفحات در PDF با استفاده از Java و Conholdate.Total SDK را بیاموزید. راهنمای گام به گام، مثال کامل کد و بهترین شیوه‌ها برای توسعه‌دهندگان.</description>
      <content:encoded><![CDATA[<p>دست‌کاری صفحات منفرد یک <a href="https://docs.fileformat.com/pdf">PDF</a> یک نیاز رایج هنگام ساخت برنامه‌های Java متمرکز بر اسناد است. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> یک SDK قدرتمند فراهم می‌کند که به شما امکان می‌دهد صفحات فایل‌های PDF را با تنها چند خط کد اضافه یا حذف کنید. در این راهنما، ما کل جریان کار را قدم به قدم مرور می‌کنیم، از تنظیم کتابخانه تا اجرای افزودن صفحات، حذف آن‌ها و پردازش اختیاری واترمارک. در پایان، یک قطعه کد قابل استفاده مجدد خواهید داشت که می‌تواند در هر سرویس بک‌اند Java یکپارچه شود.</p>
<h2 id="مراحل-افزودن-یا-حذف-صفحات-در-pdf-با-استفاده-از-java">مراحل افزودن یا حذف صفحات در PDF با استفاده از Java</h2>
<ol>
<li><strong>بارگذاری PDF منبع</strong>: یک نمونه <code>PdfDocument</code> ایجاد کنید و فایل ورودی را باز کنید.
<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 style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
<li><strong>افزودن صفحات جدید</strong>: از <code>insertPage</code> برای درج یک صفحه خالی یا کپی یک صفحه از سند دیگری استفاده کنید.
<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">insertPage</span><span style="color:#f92672">(</span>2<span style="color:#f92672">,</span> <span style="color:#66d9ef">new</span> PdfPage<span style="color:#f92672">());</span>
</span></span></code></pre></div></li>
<li><strong>حذف صفحات بر اساس ایندکس</strong>: با استفاده از <code>removePage</code> ایندکس صفر‑پایه صفحه‌ای که می‌خواهید حذف کنید را صدا بزنید.
<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">removePage</span><span style="color:#f92672">(</span>4<span style="color:#f92672">);</span> <span style="color:#75715e">// removes the 5th page
</span></span></span></code></pre></div></li>
<li><strong>مدیریت واترمارک‌ها</strong> (اختیاری): یک واترمارک را بر روی صفحات نگه‌داشته‌شده اعمال یا حذف کنید.
<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">getPages</span><span style="color:#f92672">().</span><span style="color:#a6e22e">get</span><span style="color:#f92672">(</span>0<span style="color:#f92672">).</span><span style="color:#a6e22e">addWatermark</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> Watermark<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;CONFIDENTIAL&#34;</span><span style="color:#f92672">));</span>
</span></span></code></pre></div></li>
<li><strong>ذخیره نتیجه</strong>: سند تغییر یافته را در یک فایل جدید بنویسید.
<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>برای استفاده دقیق از API به <a href="https://reference.conholdate.com/java/">مرجع رسمی API</a> مراجعه کنید.</li>
</ol>
<h2 id="افزودن-یا-حذف-صفحات-در-pdf-با-conholdatetotal---مثال-کامل-کد">افزودن یا حذف صفحات در PDF با Conholdate.Total - مثال کامل کد</h2>
<p>برنامه زیر یک جریان کاری کامل را نشان می‌دهد که یک صفحه خالی اضافه می‌کند، صفحه‌ای را بر اساس شاخص حذف می‌کند و به‌صورت اختیاری یک واترمارک به صفحه اول اضافه می‌کند.</p>
<script type="application/javascript" src="https://gist.github.com/conholdate-gists/a85d7d02a0e574bd5042ede5097e3a87.js?file=add_or_delete_pages_in_pdf_with_conholdatetotal_co.java"></script>

<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 Maven و وابستگی SDK را به <code>pom.xml</code> خود اضافه کنید:</p>
<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><!-- raw HTML omitted -->
<p>اگر ترجیح می‌دهید تنظیمات دستی انجام دهید، آخرین فایل‌های JAR را از <a href="https://releases.conholdate.com/total/java/">صفحه دانلود</a> دریافت کنید. پس از افزودن وابستگی، <code>mvn clean install</code> را اجرا کنید تا تمام کتابخانه‌های مورد نیاز حل شوند.</p>
<h2 id="نمای-کلی-مفهومی">نمای کلی مفهومی</h2>
<h3 id="افزودن-یا-حذف-صفحات-در-pdf-با-استفاده-از-java-و-conholdatetotal">افزودن یا حذف صفحات در PDF با استفاده از Java و Conholdate.Total</h3>
<p>این ویژگی به توسعه‌دهندگان امکان می‌دهد ساختار صفحات یک PDF را بدون تبدیل کل سند تغییر دهند. می‌توانید صفحات خالی اضافه کنید، صفحات موجود را تکرار کنید یا صفحات را بر اساس شاخص، محتوا یا معیارهای سفارشی حذف کنید.</p>
<h3 id="conholdatetotal-features-that-matter-for-this-task">Conholdate.Total Features That Matter for This Task</h3>
<ul>
<li><strong>درج و حذف صفحه</strong> - روش‌های ساده برای افزودن یا حذف صفحات.</li>
<li><strong>مدیریت واترمارک</strong> - افزودن، به‌روزرسانی یا حذف واترمارک‌ها در هر صفحه.</li>
<li><strong>حفظ حاشیه‌نویسی</strong> - SDK حاشیه‌نویسی‌های موجود را حفظ می‌کند مگر اینکه به‌صورت صریح حذف شوند.</li>
<li><strong>پردازش مبتنی بر جریان</strong> - به‌صورت کارآمد فایل‌های PDF بزرگ را با پردازش صفحات به‌صورت جریان مدیریت می‌کند.</li>
</ul>
<h2 id="پیکربندی-گزینههای-افزودن-و-حذف-صفحه">پیکربندی گزینه‌های افزودن و حذف صفحه</h2>
<p>SDK چندین overload برای <code>insertPage</code> و <code>removePage</code> ارائه می‌دهد. می‌توانید موقعیت دقیق را مشخص کنید، محتوای صفحه را از سند دیگری کپی کنید، یا از یک بازه صفحه استفاده کنید. هنگام حذف صفحات، می‌توانید یک آرایه از ایندکس‌ها را فراهم کنید تا چندین صفحه را در یک فراخوانی حذف کنید:</p>
<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:#66d9ef">int</span><span style="color:#f92672">[]</span> pagesToRemove <span style="color:#f92672">=</span> <span style="color:#f92672">{</span>2<span style="color:#f92672">,</span> 5<span style="color:#f92672">,</span> 7<span style="color:#f92672">};</span>
</span></span><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">removePages</span><span style="color:#f92672">(</span>pagesToRemove<span style="color:#f92672">);</span>
</span></span></code></pre></div><p>برای مدیریت واترمارک، قبل از اعمال آن بر روی صفحه، ویژگی‌هایی مانند شفافیت، چرخش و رنگ را از طریق شیء <code>Watermark</code> تنظیم کنید.</p>
<h2 id="ملاحظات-عملکرد-برای-pdfهای-بزرگ">ملاحظات عملکرد برای PDFهای بزرگ</h2>
<ul>
<li><strong>پردازش جریانی</strong>: کتابخانه صفحات را یکی‌یکی می‌خواند و می‌نویسد و مصرف حافظه را کم نگه می‌دارد.</li>
<li><strong>عملیات دسته‌ای</strong>: حذف یا افزودن صفحات را گروه‌بندی کنید تا تعداد تماس‌های I/O کاهش یابد.</li>
<li><strong>اجتناب از بارگذاری مجدد کامل سند</strong>: در صورت امکان روی همان نمونه <code>PdfDocument</code> کار کنید.</li>
</ul>
<p>یک بنچمارک ساده نشان داد که حذف ۱۰۰ صفحه از یک PDF ۵۰۰‑صفحه‌ای کمتر از ۲ ثانیه در یک ایستگاه کاری استاندارد زمان برد.</p>
<h2 id="مدیریت-حاشیهنویسیها-و-واترمارکها-هنگام-حذف-صفحه">مدیریت حاشیه‌نویسی‌ها و واترمارک‌ها هنگام حذف صفحه</h2>
<p>هنگامی که صفحه‌ای که شامل حاشیه‌نویسی‌ها است را حذف می‌کنید، SDK به‌طور خودکار آن حاشیه‌نویسی‌ها را حذف می‌کند. اگر نیاز به نگه‌داشتن حاشیه‌نویسی‌ها دارید، ابتدا آنها را استخراج کنید:</p>
<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>List<span style="color:#f92672">&lt;</span>Annotation<span style="color:#f92672">&gt;</span> ann <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</span><span style="color:#f92672">(</span>3<span style="color:#f92672">).</span><span style="color:#a6e22e">getAnnotations</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">removePage</span><span style="color:#f92672">(</span>3<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">getPages</span><span style="color:#f92672">().</span><span style="color:#a6e22e">get</span><span style="color:#f92672">(</span>2<span style="color:#f92672">).</span><span style="color:#a6e22e">addAnnotations</span><span style="color:#f92672">(</span>ann<span style="color:#f92672">);</span>
</span></span></code></pre></div><p>آب‌نماها می‌توانند به‌صورت مستقل از حذف صفحه اضافه یا حذف شوند. از <code>addWatermark</code> برای پوشاندن متن یا تصاویر استفاده کنید و از <code>removeWatermarks</code> برای پاک کردن آن‌ها از صفحات خاص استفاده کنید.</p>
<h2 id="troubleshooting-common-issues">Troubleshooting Common Issues</h2>
<ul>
<li><strong>خطای صفحه پیدا نشد</strong>: اطمینان حاصل کنید که اندیسی که ارائه می‌دهید در محدوده تعداد صفحات فعلی باشد. به یاد داشته باشید که ایندکس‌ها صفر‑مبنایی هستند.</li>
<li><strong>از دست رفتن حاشیه‌نویسی‌ها</strong>: اگر پس از حذف، حاشیه‌نویسی‌ها ناپدید می‌شوند، بررسی کنید که به‌طور ناخواسته <code>clearAnnotations</code> را صدا نزده باشید.</li>
<li><strong>علامت آب (واترمارک) قابل مشاهده نیست</strong>: شفافیت و تضاد رنگ را بررسی کنید؛ یک واترمارک بسیار روشن ممکن است در پس‌زمینه‌های خاص نامرئی به نظر برسد.</li>
<li><strong>کمبود حافظه برای PDFهای بزرگ</strong>: حالت استریمینگ را با تنظیم <code>PdfLoadOptions.setUseMemoryCache(false)</code> فعال کنید.</li>
</ul>
<h2 id="بهترین-شیوهها">بهترین شیوه‌ها</h2>
<ul>
<li><strong>اعتبارسنجی شاخص‌های صفحه</strong> قبل از انجام عملیات حذف برای جلوگیری از <code>IndexOutOfBoundsException</code>.</li>
<li><strong>همیشه <code>PdfDocument</code> را ببندید</strong> در یک بلوک <code>finally</code> یا از try‑with‑resources استفاده کنید تا دستگیره‌های فایل آزاد شوند.</li>
<li><strong>با PDFهای نمونه تست کنید</strong> که شامل انواع مختلفی از عناصر (تصاویر، فرم‌ها، حاشیه‌نویسی‌ها) هستند تا اطمینان حاصل شود منطق شما تمام موارد را پوشش می‌دهد.</li>
<li><strong>از فایل‌های موقت استفاده کنید</strong> هنگام پردازش اسناد بزرگ تا از از دست رفتن داده‌ها در صورت بروز خطاهای غیرمنتظره جلوگیری شود.</li>
<li><strong>SDK را به‌روز نگه دارید</strong> تا از بهبودهای عملکرد و رفع اشکال بهره‌مند شوید.</li>
</ul>
<h2 id="نتیجهگیری">نتیجه‌گیری</h2>
<p>افزودن یا حذف صفحات در اسناد PDF به سادگی انجام می‌شود با <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. این راهنما شما را از طریق تنظیمات، یک مثال کامل کد، و نکات عملی برای مدیریت واترمارک‌ها، حاشیه‌نویسی‌ها و فایل‌های بزرگ راهنمایی کرد. به یاد داشته باشید برای استفاده در تولید، یک مجوز تجاری مناسب تهیه کنید؛ می‌توانید یک مجوز موقت را از <a href="https://purchase.conholdate.com/temporary-license/">صفحه مجوز موقت</a> دریافت کنید یا گزینه‌های قیمت‌گذاری را در <a href="https://purchase.conholdate.com/pricing/total/family/">صفحه قیمت‌گذاری</a> بررسی کنید. با استفاده از این ابزارها، می‌توانید ویژگی‌های قدرتمند دستکاری صفحات PDF را در هر برنامه Java بسازید.</p>
<h2 id="سوالات-متداول">سوالات متداول</h2>
<ul>
<li>
<p><strong>آسان‌ترین راه برای حذف یک بازه از صفحات چیست؟</strong><br>
از overload <code>removePages(int start, int count)</code> استفاده کنید تا یک بلوک متوالی از صفحات را در یک فراخوانی حذف کنید. این کار زمان پردازش را نسبت به حذف صفحات به صورت جداگانه کاهش می‌دهد.</p>
</li>
<li>
<p><strong>آیا می‌توانم یک صفحه از فایل PDF دیگری اضافه کنم؟</strong><br>
بله. PDF منبع را بارگذاری کنید، <code>PdfPage</code> مورد نظر را بازیابی کنید و آن را با <code>insertPage(int index, PdfPage page)</code> در سند هدف وارد کنید.</p>
</li>
<li>
<p><strong>آیا SDK از فایل‌های PDF با محتوای رمزگذاری شده پشتیبانی می‌کند؟</strong><br>
SDK می‌تواند PDFهای محافظت‌شده با رمز عبور را با ارائه رمز عبور در <code>PdfLoadOptions</code> باز کند. پس از باز کردن قفل، می‌توانید به‌صورت معمول صفحات را اضافه یا حذف کنید.</p>
</li>
<li>
<p><strong>چگونه می‌توانم اطمینان حاصل کنم که واترمارک‌ها به‌صورت یکنواخت در تمام صفحات اعمال می‌شوند؟</strong><br>
در <code>pdf.getPages()</code> حلقه بزنید و برای هر صفحه <code>addWatermark</code> را فراخوانی کنید، یا از متد راحت <code>addWatermarkToAllPages</code> که توسط SDK ارائه شده استفاده کنید.</p>
</li>
</ul>
<h2 id="بیشتر-بخوانید">بیشتر بخوانید</h2>
<ul>
<li><a href="https://blog.conholdate.com/fa/total/add-barcode-to-pdf-in-java/">اضافه کردن بارکد به PDF در جاوا</a></li>
<li><a href="https://blog.conholdate.com/fa/total/convert-pdf-to-grayscale-in-java/">تبدیل PDF به مقیاس خاکستری در جاوا</a></li>
<li><a href="https://blog.conholdate.com/fa/total/convert-cad-to-pdf-in-java/">تبدیل CAD به PDF در جاوا</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
