<?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>document processing java on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/fa/tag/document-processing-java/</link>
    <description>Recent content in document processing java on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fa</language>
    <lastBuildDate>Wed, 14 Oct 2026 17:04:45 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/fa/tag/document-processing-java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>متن خط‌خورده در جاوا</title>
      <link>https://blog-qa.conholdate.com/fa/total/strikethrough-text-in-java/</link>
      <pubDate>Wed, 14 Oct 2026 17:04:45 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/fa/total/strikethrough-text-in-java/</guid>
      <description>نحوه افزودن متن خط‌خورده در جاوا با استفاده از Conholdate.Total for Java را بیاموزید. این راهنما تنظیمات، مرور کد، پیکربندی‌های کلیدی و نکات عملکردی را نشان می‌دهد.</description>
      <content:encoded><![CDATA[<p>قالب‌بندی خط‌خورده اغلب برای نشان دادن حذف‌ها، بازنگری‌ها یا وظایف تکمیل‌شده در اسناد تولید شده مورد نیاز است. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> یک SDK قدرتمند فراهم می‌کند که به شما امکان می‌دهد اسناد Word را به‌صورت برنامه‌نویسی شده دستکاری کنید. در این راهنما خواهید آموخت که چگونه متن خط‌خورده را در Java اضافه کنید، گزینه‌های پیکربندی را بررسی کنید، بهترین روش‌های عملکرد را ببینید و یک مثال کامل را اجرا کنید که می‌توانید آن را برای پروژه‌های خود تنظیم کنید.</p>
<h2 id="قبل-از-شروع-پیشنیازها-و-نصب">قبل از شروع: پیش‌نیازها و نصب</h2>
<p>برای دنبال کردن این آموزش به موارد زیر نیاز دارید:</p>
<ul>
<li>Java 17 یا جدیدتر بر روی ماشین توسعه شما نصب شده باشد.</li>
<li>Maven 3.6+ برای مدیریت وابستگی‌ها.</li>
<li>یک IDE مانند IntelliJ IDEA یا Eclipse.</li>
</ul>
<p>مخزن Maven Conholdate و وابستگی 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><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;dependency&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;groupId&gt;</span>com.conholdate<span style="color:#f92672">&lt;/groupId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;artifactId&gt;</span>conholdate-total<span style="color:#f92672">&lt;/artifactId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;version&gt;</span>24.9<span style="color:#f92672">&lt;/version&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;type&gt;</span>pom<span style="color:#f92672">&lt;/type&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/dependency&gt;</span>
</span></span></code></pre></div><p>آخرین باینری‌های SDK را از <a href="https://releases.conholdate.com/total/java/">صفحه دانلود</a> دریافت کنید اگر ترجیح می‌دهید تنظیمات دستی انجام دهید. پس از حل وابستگی، آماده‌اید که کدنویسی را آغاز کنید. بخش بعدی هر گام از افزودن متن خط‌خورده در Java را مرور می‌کند.</p>
<h2 id="راهنمای-گامبهگام-برای-متن-خطخورده-در-جاوا">راهنمای گام‌به‌گام برای متن خط‌خورده در جاوا</h2>
<h3 id="مرحله-1-بارگذاری-سند-منبع">مرحله 1: بارگذاری سند منبع</h3>
<p>اول، یک نمونه <code>Document</code> ایجاد کنید. اگر فایل ورودی وجود داشته باشد، 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>String inputPath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.docx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>Document doc<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>File inputFile <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> File<span style="color:#f92672">(</span>inputPath<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> <span style="color:#f92672">(</span>inputFile<span style="color:#f92672">.</span><span style="color:#a6e22e">exists</span><span style="color:#f92672">())</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Document<span style="color:#f92672">(</span>inputPath<span style="color:#f92672">);</span> <span style="color:#75715e">// loads existing DOCX
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#f92672">}</span> <span style="color:#66d9ef">else</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Document<span style="color:#f92672">();</span>          <span style="color:#75715e">// creates a new blank document
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    doc<span style="color:#f92672">.</span><span style="color:#a6e22e">removeAllChildren</span><span style="color:#f92672">();</span>       <span style="color:#75715e">// ensure it&#39;s empty
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#f92672">}</span>
</span></span></code></pre></div><p>کلاس <code>Document</code> در <a href="https://reference.conholdate.com/java/">مرجع API</a> مستند شده است.</p>
<h3 id="مرحله-۲-نوشتن-پاراگراف-معمولی">مرحله ۲: نوشتن پاراگراف معمولی</h3>
<p>از <code>DocumentBuilder</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>DocumentBuilder builder <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> DocumentBuilder<span style="color:#f92672">(</span>doc<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">moveToDocumentEnd</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">writeln</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;This is a normal paragraph.&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><h3 id="مرحله-3-اعمال-قالبگذاری-خطخورده">مرحله 3: اعمال قالب‌گذاری خط‌خورده</h3>
<p>پرچم خط‌خورده را در قلم سازنده قبل از نوشتن متن با سبک فعال کنید.</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>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">getFont</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setStrikeThrough</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">writeln</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;This text is rendered with strikethrough.&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">getFont</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setStrikeThrough</span><span style="color:#f92672">(</span><span style="color:#66d9ef">false</span><span style="color:#f92672">);</span> <span style="color:#75715e">// reset for subsequent text
</span></span></span></code></pre></div><h3 id="مرحله-4-جستجو-و-اعمال-خطخورده-شرطی">مرحله 4: جستجو و اعمال خط‌خوردهٔ شرطی</h3>
<p>در تمام اشیاء <code>Run</code> پیمایش کنید، کلمه &ldquo;strike&rdquo; را پیدا کنید و قالب‌بندی را به‌صورت برنامه‌نویسی اعمال کنید.</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">for</span> <span style="color:#f92672">(</span>Paragraph para <span style="color:#f92672">:</span> <span style="color:#f92672">(</span>Iterable<span style="color:#f92672">&lt;</span>Paragraph<span style="color:#f92672">&gt;)</span> doc<span style="color:#f92672">.</span><span style="color:#a6e22e">getChildNodes</span><span style="color:#f92672">(</span>NodeType<span style="color:#f92672">.</span><span style="color:#a6e22e">PARAGRAPH</span><span style="color:#f92672">,</span> <span style="color:#66d9ef">true</span><span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span>Run run <span style="color:#f92672">:</span> <span style="color:#f92672">(</span>Iterable<span style="color:#f92672">&lt;</span>Run<span style="color:#f92672">&gt;)</span> para<span style="color:#f92672">.</span><span style="color:#a6e22e">getChildNodes</span><span style="color:#f92672">(</span>NodeType<span style="color:#f92672">.</span><span style="color:#a6e22e">RUN</span><span style="color:#f92672">,</span> <span style="color:#66d9ef">true</span><span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        String text <span style="color:#f92672">=</span> run<span style="color:#f92672">.</span><span style="color:#a6e22e">getText</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> <span style="color:#f92672">(</span>text <span style="color:#f92672">!=</span> <span style="color:#66d9ef">null</span> <span style="color:#f92672">&amp;&amp;</span> text<span style="color:#f92672">.</span><span style="color:#a6e22e">toLowerCase</span><span style="color:#f92672">().</span><span style="color:#a6e22e">contains</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;strike&#34;</span><span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            run<span style="color:#f92672">.</span><span style="color:#a6e22e">getFont</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setStrikeThrough</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><h3 id="مرحله-5-ذخیره-سند">مرحله 5: ذخیره سند</h3>
<p>در نهایت، سند تغییر یافته را در قالب <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a> به دیسک بنویسید.</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>String outputPath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;output.docx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>doc<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outputPath<span style="color:#f92672">,</span> SaveFormat<span style="color:#f92672">.</span><span style="color:#a6e22e">DOCX</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><p>پس از ذخیره‌سازی سند، می‌توانید <code>output.docx</code> را باز کنید تا تأیید کنید که استایل خط‌خورده همان‌طور که انتظار می‌رود نمایش داده می‌شود.</p>
<h2 id="مثال-کامل-کارکرد-برای-متن-خطخورده-در-java">مثال کامل کارکرد برای متن خط‌خورده در Java</h2>
<p>کد زیر جریان کاری کامل برای افزودن متن خط‌خورده در جاوا با استفاده از Conholdate.Total را نشان می‌دهد.</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:#f92672">import</span> com.aspose.words.*<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.io.File<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">StrikethroughExample</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span><span style="color:#f92672">(</span>String<span style="color:#f92672">[]</span> args<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        String inputPath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.docx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>        String outputPath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;output.docx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Document doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">null</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">try</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            File inputFile <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> File<span style="color:#f92672">(</span>inputPath<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> <span style="color:#f92672">(</span>inputFile<span style="color:#f92672">.</span><span style="color:#a6e22e">exists</span><span style="color:#f92672">())</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Document<span style="color:#f92672">(</span>inputPath<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">}</span> <span style="color:#66d9ef">else</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Document<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>                doc<span style="color:#f92672">.</span><span style="color:#a6e22e">removeAllChildren</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>DocumentBuilder builder <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> DocumentBuilder<span style="color:#f92672">(</span>doc<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            builder<span style="color:#f92672">.</span><span style="color:#a6e22e">moveToDocumentEnd</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">writeln</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;This is a normal paragraph.&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">getFont</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setStrikeThrough</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            builder<span style="color:#f92672">.</span><span style="color:#a6e22e">writeln</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;This text is rendered with strikethrough.&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            builder<span style="color:#f92672">.</span><span style="color:#a6e22e">getFont</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setStrikeThrough</span><span style="color:#f92672">(</span><span style="color:#66d9ef">false</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span>Paragraph para <span style="color:#f92672">:</span> <span style="color:#f92672">(</span>Iterable<span style="color:#f92672">&lt;</span>Paragraph<span style="color:#f92672">&gt;)</span> doc<span style="color:#f92672">.</span><span style="color:#a6e22e">getChildNodes</span><span style="color:#f92672">(</span>NodeType<span style="color:#f92672">.</span><span style="color:#a6e22e">PARAGRAPH</span><span style="color:#f92672">,</span> <span style="color:#66d9ef">true</span><span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span>Run run <span style="color:#f92672">:</span> <span style="color:#f92672">(</span>Iterable<span style="color:#f92672">&lt;</span>Run<span style="color:#f92672">&gt;)</span> para<span style="color:#f92672">.</span><span style="color:#a6e22e">getChildNodes</span><span style="color:#f92672">(</span>NodeType<span style="color:#f92672">.</span><span style="color:#a6e22e">RUN</span><span style="color:#f92672">,</span> <span style="color:#66d9ef">true</span><span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                    String text <span style="color:#f92672">=</span> run<span style="color:#f92672">.</span><span style="color:#a6e22e">getText</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">if</span> <span style="color:#f92672">(</span>text <span style="color:#f92672">!=</span> <span style="color:#66d9ef">null</span> <span style="color:#f92672">&amp;&amp;</span> text<span style="color:#f92672">.</span><span style="color:#a6e22e">toLowerCase</span><span style="color:#f92672">().</span><span style="color:#a6e22e">contains</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;strike&#34;</span><span style="color:#f92672">))</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                        run<span style="color:#f92672">.</span><span style="color:#a6e22e">getFont</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setStrikeThrough</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>                    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>                <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>doc<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outputPath<span style="color:#f92672">,</span> SaveFormat<span style="color:#f92672">.</span><span style="color:#a6e22e">DOCX</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span> <span style="color:#66d9ef">catch</span> <span style="color:#f92672">(</span>Exception e<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            e<span style="color:#f92672">.</span><span style="color:#a6e22e">printStackTrace</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span> <span style="color:#66d9ef">finally</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> <span style="color:#f92672">(</span>doc <span style="color:#f92672">!=</span> <span style="color:#66d9ef">null</span><span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">null</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><blockquote>
<p><strong>توجه:</strong> این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیرهای فایل و مقادیر پیکربندی را به‌گونه‌ای به‌روزرسانی کنید که با محیط واقعی شما مطابقت داشته باشد، بررسی کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند، و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به <a href="https://docs.conholdate.com/java/">مستندات رسمی</a> مراجعه کنید یا برای دریافت کمک به <a href="https://forum.conholdate.com/c/total/5">تیم پشتیبانی</a> مراجعه کنید.</p>
</blockquote>
<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>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">getFont</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setColor</span><span style="color:#f92672">(</span>java<span style="color:#f92672">.</span><span style="color:#a6e22e">awt</span><span style="color:#f92672">.</span><span style="color:#a6e22e">Color</span><span style="color:#f92672">.</span><span style="color:#a6e22e">RED</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">getFont</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setStrikeThrough</span><span style="color:#f92672">(</span><span style="color:#66d9ef">true</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">writeln</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Important deletion highlighted in red.&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><p>اگر نیاز دارید همان سبک را بر روی چندین <code>Run</code> اعمال کنید، ایجاد یک نمونه قابل استفاده مجدد از <code>Font</code> و اختصاص آن به هر <code>Run</code> را در نظر بگیرید تا از تنظیم مکرر ویژگی‌ها جلوگیری شود.</p>
<h2 id="ملاحظات-عملکرد-برای-رندر-خطخورده">ملاحظات عملکرد برای رندر خط‌خورده</h2>
<ol>
<li><strong>استفاده مجدد از شی <code>Document</code></strong> - بارگذاری یک سند یک بار و انجام تمام تغییرات در یک جلسه واحد، بار ورودی/خروجی را کاهش می‌دهد.</li>
<li><strong>تغییرات سبک به صورت دسته‌ای</strong> - پرچم خط‌خورده را به مجموعه‌ای از <code>Paragraph</code> یا <code>Run</code> اعمال کنید به جای این که برای هر کاراکتر آن را تغییر دهید.</li>
<li><strong>از پیمایش‌های غیرضروری جلوگیری کنید</strong> - حلقه شرطی که به دنبال واژه &ldquo;strike&rdquo; می‌گردد باید فقط زمانی اجرا شود که واقعاً به استایل‌گذاری پویا نیاز دارید.</li>
<li><strong>در صورت امکان خروجی را به‌صورت جریان (Stream) بنویسید</strong> - برای اسناد بزرگ، از <code>doc.save(OutputStream, SaveFormat.DOCX)</code> استفاده کنید تا مستقیماً به یک جریان بنویسید و حافظه را حفظ کنید.</li>
</ol>
<p>این نکات به حفظ مصرف کم حافظه و سرعت بالا در زمان اجرا کمک می‌کنند، به‌ویژه هنگام پردازش صدها سند در یک کار دسته‌ای.</p>
<h2 id="نتیجهگیری-نهایی">نتیجه‌گیری نهایی</h2>
<p>اضافه کردن متن خط خورده در جاوا به سادگی با <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> امکان‌پذیر است. API روان SDK به شما اجازه می‌دهد پاراگراف‌های معمولی و استایل‌دار را ترکیب کنید، قالب‌بندی شرطی اعمال کنید و نتایج را در فرمت‌های استاندارد صنعتی ذخیره کنید. به‌خاطر داشته باشید که وابستگی Maven خود را پیکربندی کنید، اشیای سند را مجدداً استفاده کنید و استایل‌ها را به‌صورت کارآمد اعمال کنید تا عملکرد بهینه حاصل شود. برای استقرارهای تولیدی به یک لایسنس معتبر نیاز دارید؛ جزئیات قیمت‌گذاری در <a href="https://purchase.conholdate.com/pricing/total/family/">صفحه قیمت‌گذاری</a> موجود است و می‌توانید یک لایسنس موقت را از <a href="https://purchase.conholdate.com/temporary-license/">صفحه لایسنس موقت</a> دریافت کنید. برنامه‌نویسی خوش!</p>
<h2 id="ممکن-است-سوالاتی-داشته-باشید">ممکن است سوالاتی داشته باشید</h2>
<ul>
<li>
<p><strong>چگونه می‌توانم متن خط‌خورده را در جاوا اعمال کنم بدون اینکه برای هر اجرا به‌صورت دستی پرچم را تنظیم کنم؟</strong><br>
از <code>DocumentBuilder.getFont().setStrikeThrough(true)</code> قبل از نوشتن پاراگراف استفاده کنید. پرچم تا زمانی که آن را بازنشانی نکنید فعال می‌ماند و به شما اجازه می‌دهد چندین خط با همان سبک بنویسید.</p>
</li>
<li>
<p><strong>آیا می‌توانم به‌صورت خودکار تمام موارد یک کلمه کلیدی را خط‌خورده کنم؟</strong><br>
بله. همان‌طور که در راهنمای گام‌به‌گام نشان داده شده است، بر روی هر <code>Run</code> تکرار کنید، <code>run.getText()</code> را برای کلمه کلیدی بررسی کنید، و وقتی مطابقت یافت شد، <code>run.getFont().setStrikeThrough(true)</code> را فراخوانی کنید.</p>
</li>
<li>
<p><strong>کدام فرمت‌های سند هنگام ذخیره‌سازی خط‌خورده را حفظ می‌کنند؟</strong><br>
DOCX، <a href="https://docs.fileformat.com/word-processing/doc/">DOC</a>، <a href="https://docs.fileformat.com/word-processing/rtf/">RTF</a>، و سایر فرمت‌های متن غنی ویژگی خط‌خورده را نگه می‌دارند. برای دریافت فهرست کامل فرمت‌های پشتیبانی‌شده به <a href="https://docs.conholdate.com/java/">مستندات رسمی</a> مراجعه کنید.</p>
</li>
<li>
<p><strong>آیا اعمال تعداد زیادی استایل خط‌خورده باعث کاهش سرعت پردازش فایل‌های بزرگ می‌شود؟</strong><br>
تأثیر آن کم است اگر نکات عملکردی را دنبال کنید: استفاده مجدد از نمونه <code>Document</code>، انجام تغییرات استایل به صورت دسته‌ای، و جلوگیری از پیمایش‌های تکراری. این کار مصرف حافظه را پایین نگه می‌دارد و سرعت پردازش را افزایش می‌دهد.</p>
</li>
</ul>
<h2 id="مقالات-مرتبط">مقالات مرتبط</h2>
<ul>
<li><a href="https://blog.conholdate.com/fa/total/rotate-image-in-java/">چرخاندن تصویر در جاوا</a></li>
<li><a href="https://blog.conholdate.com/fa/total/add-text-to-pdf-in-java/">افزودن متن به PDF در جاوا</a></li>
<li><a href="https://blog.conholdate.com/fa/total/convert-pdf-to-png-in-java/">تبدیل PDF به PNG در جاوا</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
