<?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>unicode pdf handling on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/ru/tag/unicode-pdf-handling/</link>
    <description>Recent content in unicode pdf handling on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ru</language>
    <lastBuildDate>Sun, 30 Aug 2026 18:53:10 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/ru/tag/unicode-pdf-handling/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Добавить текст в PDF на Java</title>
      <link>https://blog-qa.conholdate.com/ru/total/add-text-to-pdf-in-java/</link>
      <pubDate>Sun, 30 Aug 2026 18:53:10 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/ru/total/add-text-to-pdf-in-java/</guid>
      <description>Узнайте, как добавить текст в PDF на Java с помощью Conholdate.Total for Java. Это пошаговое руководство охватывает настройку, разбор кода и полный пример для разработчиков, использующих TextBuilder и TextParagraph.</description>
      <content:encoded><![CDATA[<p>Добавление пользовательских заметок или водяных знаков часто требует вставки текста в <a href="https://docs.fileformat.com/pdf">PDF</a> в Java‑приложениях. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> — мощный SDK, который позволяет разработчикам программно редактировать PDF‑файлы. Это руководство проведёт вас через предварительные требования, подробный разбор кода и полный пример, чтобы вы могли легко наложить пользовательский текст на существующие PDF.</p>
<h2 id="предварительные-требования-и-настройка">Предварительные требования и настройка</h2>
<p>Прежде чем начать, убедитесь, что у вас есть следующее:</p>
<ul>
<li>Java 8 или выше установлен.</li>
<li>Maven для управления зависимостями.</li>
<li>IDE, такая как IntelliJ IDEA или Eclipse.</li>
<li>Действительная лицензия Conholdate.Total for Java для использования в продакшн (см. раздел о лицензировании ниже).</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>. После успешного завершения сборки Maven вы готовы приступить к программированию. В следующем разделе показано, как именно загрузить PDF и вставить текст.</p>
<h2 id="добавить-текст-в-pdf-на-java-пошаговое-руководство">Добавить текст в PDF на Java: пошаговое руководство</h2>
<p>Ниже приведено краткое пошаговое руководство по каждому логическому шагу. Полный исходный код воспроизводится позже в разделе <strong>Полный пример кода</strong>.</p>
<h3 id="шаг-1-откройте-pdf-и-создайте-textbuilder">Шаг 1: Откройте PDF и создайте TextBuilder</h3>
<p>Сначала откройте исходный PDF с помощью класса <code>Document</code>, затем создайте <code>TextBuilder</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>String dataDir <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;path/to/your/document/directory/&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Open document
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>Document doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Document<span style="color:#f92672">(</span>dataDir <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;Conholdate.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>TextBuilder builder <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextBuilder<span style="color:#f92672">(</span>doc<span style="color:#f92672">.</span><span style="color:#a6e22e">getPages</span><span style="color:#f92672">().</span><span style="color:#a6e22e">get_Item</span><span style="color:#f92672">(</span>1<span style="color:#f92672">));</span>
</span></span></code></pre></div><p>Классы <code>Document</code> и <code>TextBuilder</code> задокументированы в <a href="https://reference.conholdate.com/java/">справке API</a>.</p>
<h3 id="шаг-2-создание-и-настройка-textparagraph">Шаг 2: Создание и настройка TextParagraph</h3>
<p>Создайте <code>TextParagraph</code> и настройте его макет: отступ, применяемый к последующим строкам, прямоугольник, ограничивающий область текста на странице, и режим переноса слов.</p>
<!-- raw HTML omitted -->
<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:#75715e">// Create text paragraph
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>TextParagraph paragraph <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextParagraph<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Set subsequent lines indent
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>paragraph<span style="color:#f92672">.</span><span style="color:#a6e22e">setSubsequentLinesIndent</span><span style="color:#f92672">(</span>20<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Specify the location to add TextParagraph
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>paragraph<span style="color:#f92672">.</span><span style="color:#a6e22e">setRectangle</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> Rectangle<span style="color:#f92672">(</span>100<span style="color:#f92672">,</span> 300<span style="color:#f92672">,</span> 200<span style="color:#f92672">,</span> 700<span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Specify word wrapping mode
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>paragraph<span style="color:#f92672">.</span><span style="color:#a6e22e">getFormattingOptions</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setWrapMode</span><span style="color:#f92672">(</span>TextFormattingOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">WordWrapMode</span><span style="color:#f92672">.</span><span style="color:#a6e22e">ByWords</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<h3 id="шаг-3-создать-textfragment-и-настроить-шрифт">Шаг 3: Создать TextFragment и настроить шрифт</h3>
<p>Создайте <code>TextFragment</code>, содержащий текст, который вы хотите наложить, затем установите его шрифт и размер шрифта через <code>getTextState()</code>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#75715e">// Create text fragment
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>TextFragment fragment1 <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextFragment<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;the quick brown fox jumps over the lazy dog&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>fragment1<span style="color:#f92672">.</span><span style="color:#a6e22e">getTextState</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setFont</span><span style="color:#f92672">(</span>FontRepository<span style="color:#f92672">.</span><span style="color:#a6e22e">findFont</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Times New Roman&#34;</span><span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>fragment1<span style="color:#f92672">.</span><span style="color:#a6e22e">getTextState</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setFontSize</span><span style="color:#f92672">(</span>12<span style="color:#f92672">);</span>
</span></span></code></pre></div><h3 id="шаг-4-добавить-фрагмент-и-абзац">Шаг 4: Добавить фрагмент и абзац</h3>
<p>Добавьте фрагмент текста как строку внутри абзаца, затем добавьте абзац на страницу через <code>TextBuilder</code>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#75715e">// Add fragment to paragraph
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>paragraph<span style="color:#f92672">.</span><span style="color:#a6e22e">appendLine</span><span style="color:#f92672">(</span>fragment1<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Add paragraph
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>builder<span style="color:#f92672">.</span><span style="color:#a6e22e">appendParagraph</span><span style="color:#f92672">(</span>paragraph<span style="color:#f92672">);</span>
</span></span></code></pre></div><h3 id="шаг-5-сохранить-изменённый-pdf">Шаг 5: Сохранить изменённый PDF</h3>
<p>Наконец, сформируйте путь вывода и сохраните полученный документ.</p>
<!-- raw HTML omitted -->
<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>dataDir <span style="color:#f92672">=</span> dataDir <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;AddText_out.pdf&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Save resulting PDF document.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>doc<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>dataDir<span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>С помощью этих шагов вы завершили процесс вставки текста в PDF.</p>
<h2 id="полный-пример-кода-вставка-текста-в-pdf-на-java">Полный пример кода: вставка текста в PDF на Java</h2>
<p>Следующий пример демонстрирует весь процесс от загрузки исходного файла до сохранения обновлённого PDF.</p>
<p>Этот пример демонстрирует, как добавить текст в существующий PDF с использованием Conholdate.Total for Java.</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.pdf.Document<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.aspose.pdf.TextBuilder<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.aspose.pdf.TextParagraph<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.aspose.pdf.Rectangle<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.aspose.pdf.TextFormattingOptions<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.aspose.pdf.TextFragment<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.aspose.pdf.FontRepository<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">AddTextToPdf</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 dataDir <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;path/to/your/document/directory/&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Open document
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        Document doc <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Document<span style="color:#f92672">(</span>dataDir <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;Conholdate.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        TextBuilder builder <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextBuilder<span style="color:#f92672">(</span>doc<span style="color:#f92672">.</span><span style="color:#a6e22e">getPages</span><span style="color:#f92672">().</span><span style="color:#a6e22e">get_Item</span><span style="color:#f92672">(</span>1<span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Create text paragraph
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        TextParagraph paragraph <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextParagraph<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Set subsequent lines indent
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        paragraph<span style="color:#f92672">.</span><span style="color:#a6e22e">setSubsequentLinesIndent</span><span style="color:#f92672">(</span>20<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Specify the location to add TextParagraph
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        paragraph<span style="color:#f92672">.</span><span style="color:#a6e22e">setRectangle</span><span style="color:#f92672">(</span><span style="color:#66d9ef">new</span> Rectangle<span style="color:#f92672">(</span>100<span style="color:#f92672">,</span> 300<span style="color:#f92672">,</span> 200<span style="color:#f92672">,</span> 700<span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Specify word wrapping mode
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        paragraph<span style="color:#f92672">.</span><span style="color:#a6e22e">getFormattingOptions</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setWrapMode</span><span style="color:#f92672">(</span>TextFormattingOptions<span style="color:#f92672">.</span><span style="color:#a6e22e">WordWrapMode</span><span style="color:#f92672">.</span><span style="color:#a6e22e">ByWords</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Create text fragment
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        TextFragment fragment1 <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextFragment<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;the quick brown fox jumps over the lazy dog&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        fragment1<span style="color:#f92672">.</span><span style="color:#a6e22e">getTextState</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setFont</span><span style="color:#f92672">(</span>FontRepository<span style="color:#f92672">.</span><span style="color:#a6e22e">findFont</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Times New Roman&#34;</span><span style="color:#f92672">));</span>
</span></span><span style="display:flex;"><span>        fragment1<span style="color:#f92672">.</span><span style="color:#a6e22e">getTextState</span><span style="color:#f92672">().</span><span style="color:#a6e22e">setFontSize</span><span style="color:#f92672">(</span>12<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Add fragment to paragraph
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        paragraph<span style="color:#f92672">.</span><span style="color:#a6e22e">appendLine</span><span style="color:#f92672">(</span>fragment1<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Add paragraph
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        builder<span style="color:#f92672">.</span><span style="color:#a6e22e">appendParagraph</span><span style="color:#f92672">(</span>paragraph<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>dataDir <span style="color:#f92672">=</span> dataDir <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;AddText_out.pdf&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Save resulting PDF document.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>        doc<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>dataDir<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> Этот пример кода демонстрирует базовую функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили <code>dataDir</code>, чтобы он указывал на фактическую директорию документов (содержащую <code>Conholdate.pdf</code>), проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если возникнут проблемы, обратитесь к <a href="https://docs.conholdate.com/java/">официальной документации</a> или свяжитесь с <a href="https://forum.conholdate.com/c/total/5">командой поддержки</a> для получения помощи.</p>
</blockquote>
<h2 id="заключение">Заключение</h2>
<p>В этом руководстве мы показали, как добавить текст в PDF на Java, используя мощные возможности <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. Следуя пошаговому описанию, вы сможете надёжно создавать текстовые абзацы с помощью <code>TextBuilder</code> и <code>TextParagraph</code>, управлять стилем шрифта через <code>TextFragment</code> и сохранять изменённый документ. SDK самостоятельно обрабатывает координаты страниц PDF и рендеринг текста, поэтому вы можете сосредоточиться на бизнес‑логике. Не забудьте получить правильную лицензию для использования в продакшене; временную лицензию можно получить на <a href="https://purchase.conholdate.com/temporary-license/">странице временной лицензии</a> или изучить варианты ценообразования на <a href="https://purchase.conholdate.com/pricing/total/family/">странице цен</a>. С этими инструментами добавление пользовательского текста в PDF становится простой частью вашего Java‑приложения.</p>
<h2 id="faqs">FAQs</h2>
<ul>
<li>
<p><strong>Как добавить текст в PDF на Java, не перезаписывая существующее содержимое?</strong><br>
Используйте <code>builder.appendParagraph(paragraph)</code> как показано в примере; <code>TextBuilder</code> добавляет новый абзац на целевую страницу, сохраняя любое существующее содержимое.</p>
</li>
<li>
<p><strong>Можно ли добавить пользовательский текст водяного знака в PDF на Java?</strong><br>
Да. Тот же подход работает и для водяных знаков — создайте <code>TextFragment</code> с нужным текстом водяного знака, настройте подходящий шрифт и размер (или прозрачность через состояние текста), и добавьте его через <code>TextParagraph</code> на каждой странице.</p>
</li>
<li>
<p><strong>Что делать, если вставленный текст отображается некорректно для некоторых языков?</strong><br>
Выберите шрифт, поддерживающий необходимый набор символов, с помощью <code>FontRepository.findFont()</code>. SDK учитывает настройки шрифта, применённые через <code>getTextState()</code>, а <a href="https://docs.conholdate.com/java/">документация</a> предоставляет рекомендации по работе с различными скриптами.</p>
</li>
<li>
<p><strong>Могу ли я пакетно обрабатывать несколько PDF, добавляя один и тот же текст?</strong><br>
Конечно. Оберните код в цикл, который проходит по списку путей к файлам, повторно используя одну и ту же логику <code>Document</code>/<code>TextBuilder</code> для каждого файла.</p>
</li>
</ul>
<h2 id="читать-дальше">Читать дальше</h2>
<ul>
<li><a href="https://blog.conholdate.com/ru/total/add-shapes-to-pdf-in-java/">Добавить фигуры в PDF на Java</a></li>
<li><a href="https://blog.conholdate.com/ru/total/add-barcode-to-pdf-in-java/">Добавить штрих‑код в PDF на Java</a></li>
<li><a href="https://blog.conholdate.com/ru/total/add-or-delete-pages-in-pdf-using-java/">Добавить или удалить страницы в PDF с помощью Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
