<?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/ar/tag/document-processing-java/</link>
    <description>Recent content in document processing java on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ar</language>
    <lastBuildDate>Wed, 14 Oct 2026 17:04:45 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/ar/tag/document-processing-java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>نص مشطوب في Java</title>
      <link>https://blog-qa.conholdate.com/ar/total/strikethrough-text-in-java/</link>
      <pubDate>Wed, 14 Oct 2026 17:04:45 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/ar/total/strikethrough-text-in-java/</guid>
      <description>تعلم كيفية إضافة نص مشطوب في Java باستخدام Conholdate.Total for Java. يوضح هذا الدليل الإعداد، استعراض الكود، التكوين الرئيسي ونصائح الأداء.</description>
      <content:encoded><![CDATA[<p>غالبًا ما يكون تنسيق الخط المشطوب مطلوبًا للإشارة إلى الحذف أو التعديلات أو المهام المكتملة داخل المستندات المُنشأة. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> يوفر مجموعة تطوير برامج قوية تتيح لك التعامل مع مستندات 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="دليل-خطوة-بخطوة-لتطبيق-النص-المشطوب-في-java">دليل خطوة بخطوة لتطبيق النص المشطوب في Java</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="الخطوة-2-كتابة-فقرة-عادية">الخطوة 2: كتابة فقرة عادية</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>يعرض الكود التالي سير العمل الكامل لإضافة نص مشطوب في Java باستخدام 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>إذا كنت بحاجة إلى تطبيق النمط نفسه على العديد من الـ runs، فكر في إنشاء كائن <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>تدفق الإخراج عندما يكون ذلك ممكنًا</strong> - للمستندات الكبيرة، استخدم <code>doc.save(OutputStream, SaveFormat.DOCX)</code> للكتابة مباشرة إلى تدفق وتوفير الذاكرة.</li>
</ol>
<p>تساعد هذه النصائح في الحفاظ على انخفاض استهلاك الذاكرة وسرعة وقت التنفيذ، خاصةً عند معالجة مئات المستندات في مهمة دفعة.</p>
<h2 id="أفكار-ختامية">أفكار ختامية</h2>
<p>إضافة نص مشطوب في Java أمر بسيط باستخدام <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. تسمح لك واجهة برمجة التطبيقات السلسة في 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>كيف يمكنني تطبيق النص المشطوب في Java دون ضبط العلامة يدويًا لكل تشغيل؟</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/ar/total/rotate-image-in-java/">تدوير الصورة في Java</a></li>
<li><a href="https://blog.conholdate.com/ar/total/add-text-to-pdf-in-java/">إضافة نص إلى PDF في Java</a></li>
<li><a href="https://blog.conholdate.com/ar/total/convert-pdf-to-png-in-java/">تحويل PDF إلى PNG في Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
