<?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/ru/tag/document-processing-java/</link>
    <description>Recent content in document processing java on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ru</language>
    <lastBuildDate>Wed, 14 Oct 2026 17:04:45 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/ru/tag/document-processing-java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Зачёркнутый текст в Java</title>
      <link>https://blog-qa.conholdate.com/ru/total/strikethrough-text-in-java/</link>
      <pubDate>Wed, 14 Oct 2026 17:04:45 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/ru/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> предоставляет мощный 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="пошаговое-руководство-по-зачеркиванию-текста-в-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>Если вам нужно применить один и тот же стиль к множеству <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>По возможности используйте потоковый вывод</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>. Флюентный 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>Как применить зачеркивание текста в 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/ru/total/rotate-image-in-java/">Повернуть изображение в Java</a></li>
<li><a href="https://blog.conholdate.com/ru/total/add-text-to-pdf-in-java/">Добавить текст в PDF на Java</a></li>
<li><a href="https://blog.conholdate.com/ru/total/convert-pdf-to-png-in-java/">Преобразовать PDF в PNG на Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
