<?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/zh/tag/document-processing-java/</link>
    <description>Recent content in document processing java on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Wed, 14 Oct 2026 17:04:45 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/zh/tag/document-processing-java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Java 中的删除线文本</title>
      <link>https://blog-qa.conholdate.com/zh/total/strikethrough-text-in-java/</link>
      <pubDate>Wed, 14 Oct 2026 17:04:45 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/zh/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>如 IntelliJ IDEA 或 Eclipse 等 IDE。</li>
</ul>
<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><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>如果您更喜欢手动设置，请从<a href="https://releases.conholdate.com/total/java/">下载页面</a>下载最新的 SDK 二进制文件。依赖解析完成后，您即可开始编码。下一节将逐步演示在 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> 对象，查找单词 “strike”，并以编程方式应用格式。</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>Reuse the <code>Document</code> object</strong> - 将文档加载一次并在单个会话中完成所有修改，可减少 I/O 开销。</li>
<li><strong>Batch style changes</strong> - 将删除线标记应用于 <code>Paragraph</code> 或 <code>Run</code> 集合，而不是对每个字符逐个切换。</li>
<li><strong>Avoid unnecessary traversals</strong> - 仅在确实需要动态样式时才执行搜索单词 “strike” 的条件循环。</li>
<li><strong>Stream output when possible</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 的流式 API 允许您混合普通段落和样式段落，应用条件格式，并将结果保存为行业标准格式。请记得配置 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 中应用删除线文本，而无需为每个 run 手动设置标志？</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/zh/total/rotate-image-in-java/">在 Java 中旋转图像</a></li>
<li><a href="https://blog.conholdate.com/zh/total/add-text-to-pdf-in-java/">在 Java 中向 PDF 添加文本</a></li>
<li><a href="https://blog.conholdate.com/zh/total/convert-pdf-to-png-in-java/">在 Java 中将 PDF 转换为 PNG</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
