CINXE.COM

Asciidoctor PDF Documentation | Asciidoctor Docs

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Asciidoctor PDF Documentation | Asciidoctor Docs</title> <link rel="stylesheet" href="../../_/css/site.css"> <link rel="stylesheet" href="../../_/css/vendor/tabs.css"> <meta name="generator" content="Antora 3.1.8"> <link rel="canonical" href="https://docs.asciidoctor.org/pdf-converter/latest/"> <meta property="og:url" content="https://docs.asciidoctor.org/pdf-converter/latest/"> <meta name="description" content="The documentation for Asciidoctor PDF, a converter for Asciidoctor that converts AsciiDoc directly to PDF using the Prawn PDF generation library."> <meta property="og:description" content="The documentation for Asciidoctor PDF, a converter for Asciidoctor that converts AsciiDoc directly to PDF using the Prawn PDF generation library."> <meta property="og:site_name" content="Asciidoctor Docs"> <meta name="twitter:card" content="summary_large_image"> <meta property="og:title" content="Asciidoctor PDF - Asciidoctor PDF Documentation"> <meta property="og:image" content="https://docs.asciidoctor.org/_/img/asciidoctor-og.png"> <meta name="twitter:site" content="@asciidoctor"> <link rel="next" href="whats-new/"> <meta name="page-spec" content="2.2@pdf-converter::index.adoc"> <link rel="icon" href="../../_/img/favicon.ico" type="image/x-icon"> </head> <body class="article"> <header class="header"> <nav class="navbar"> <div class="navbar-brand"> <a class="navbar-item logo" title="Asciidoctor" href="https://asciidoctor.org"><img src="../../_/img/asciidoctor-logo.svg" alt="Asciidoctor" width="48"></a> <a class="navbar-item title" href="https://docs.asciidoctor.org/">Asciidoctor Docs</a> <button class="navbar-burger" aria-controls="topbar-nav" aria-expanded="false" aria-label="Toggle main menu"> <span></span> <span></span> <span></span> </button> </div> <div id="topbar-nav" class="navbar-menu"> <div class="navbar-end"> <div class="navbar-item search hide-for-print"> <div id="search" class="field has-filter"> <input class="query" type="text" placeholder="Search the docs"> <label class="filter checkbox"> <input type="checkbox" data-facet-filter="component:pdf-converter"> In this project </label> </div> </div> <div class="navbar-item has-dropdown is-hoverable"> <div class="navbar-link">AsciiDoc</div> <div class="navbar-dropdown"> <a class="navbar-item" href="../../asciidoc/latest/">Language</a> <a class="navbar-item" href="../../asciidoc/latest/syntax-quick-reference/">Syntax Quick Reference</a> </div> </div> <div class="navbar-item has-dropdown is-hoverable"> <div class="navbar-link">Processing</div> <div class="navbar-dropdown"> <a class="navbar-item" href="../../asciidoctor/latest/">Asciidoctor <small>Ruby</small></a> <a class="navbar-item" href="../../asciidoctor.js/latest/">Asciidoctor.js <small>JavaScript</small></a> <a class="navbar-item" href="../../asciidoctorj/latest/">AsciidoctorJ <small>Java</small></a> </div> </div> <div class="navbar-item has-dropdown is-hoverable"> <div class="navbar-link">Extensions</div> <div class="navbar-dropdown"> <div class="navbar-item">Add-on Converters</div> <a class="navbar-item" href="../latest/">PDF <small>Ruby</small></a> <a class="navbar-item" href="../../epub3-converter/latest/">EPUB3 <small>Ruby</small></a> <a class="navbar-item" href="../../reveal.js-converter/latest/">reveal.js <small>Ruby, JavaScript</small></a> <hr class="navbar-divider"> <div class="navbar-item">Extended Syntax</div> <a class="navbar-item" href="../../diagram-extension/latest/">Asciidoctor Diagram <small>Ruby</small></a> </div> </div> <div class="navbar-item has-dropdown is-hoverable"> <div class="navbar-link">Tooling</div> <div class="navbar-dropdown is-right"> <div class="navbar-item">Build Automation</div> <a class="navbar-item" href="../../maven-tools/latest/">Maven Tools <small>Java</small></a> <a class="navbar-item" href="../../gradle-plugin/latest/">Gradle Plugin <small>Java</small></a> <a class="navbar-item" href="../../asciidoclet/latest/">Asciidoclet <small>Java</small></a> <hr class="navbar-divider"> <div class="navbar-item">Text Editors / Viewers</div> <a class="navbar-item" href="../../browser-extension/">Browser Extension</a> <a class="navbar-item" href="https://intellij-asciidoc-plugin.ahus1.de/docs" target="_blank" rel="noopener">IntelliJ Plugin</a> </div> </div> <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-item" href="../../about/get-help/" data-title="Support"> <span class="icon"><img src="../../_/img/octicons-24.svg#view-comment-discussion"></span> </a> <div class="navbar-dropdown is-right"> <a class="navbar-item has-icon" href="https://chat.asciidoctor.org" target="_blank" rel="noopener"> <span class="icon"><img src="../../_/img/octicons-16.svg#view-comment-discussion"></span> <span>Chat</span> </a> <!-- <a class="navbar-item has-icon" href="https://discuss.asciidoctor.org" target="_blank" rel="noopener"> <span class="icon"><img src="../../_/img/octicons-16.svg#view-mail"></span> <span>List</span> </a> --> <a class="navbar-item has-icon" href="https://github.com/asciidoctor" target="_blank" rel="noopener"> <span class="icon"><img src="../../_/img/octicons-16.svg#view-mark-github"></span> <span>Source</span> </a> <a class="navbar-item has-icon" href="https://twitter.com/asciidoctor" target="_blank" rel="noopener"> <span class="icon"><img src="../../_/img/octicons-16.svg#view-hash"></span> <span>Tweets</span> </a> </div> </div> </div> </div> </nav> </header> <div class="body"> <div class="nav-container"> <aside class="nav"> <div class="panels"> <div class="nav-panel-menu is-active is-loading" data-panel="menu"> <nav class="nav-menu"> <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button> <h3 class="title"><a href="./">Asciidoctor PDF</a></h3> <ul class="nav-list"> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <a class="nav-link" href="whats-new/">What&#8217;s New</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="features/">Features</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="install/">Install Asciidoctor PDF</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="convert-to-pdf/">Convert AsciiDoc to PDF</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="image-paths-and-formats/">Image Paths and Formats</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="image-scaling/">Image Scaling</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="background-images/">Background Images</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="import-pdf-pages/">Import PDF Pages</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="inline-images/">Inline Images</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="icons/">Font and Image Icons</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="interdocument-xrefs/">Interdocument Xrefs</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="roles/">Roles</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="breakable-and-unbreakable/">Breakable and Unbreakable Blocks</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="syntax-highlighting/">Syntax Highlighting</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="autofit-text/">Autofit Text</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="stem/">STEM</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="passthrough-content/">Passthrough Content</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="autowidth-tables/">Autowidth Tables</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="notitle/">Hide Section Titles</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="title-page/">Title Page</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="toc/">TOC</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="pdf-outline/">PDF Outline</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="index-catalog/">Index Catalog</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="page-numbers/">Page Numbers</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="asciidoc-attributes/">AsciiDoc Attributes for PDF</a> </li> <li class="nav-item" data-depth="1"> <a class="nav-link" href="optimize-pdf/">Optimize the PDF</a> </li> </ul> </li> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle"></button> <a class="nav-link" href="theme/">Theming</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle"></button> <a class="nav-link" href="theme/language/">Keys, Properties and Values</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/measurement-units/">Measurement Units</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/color/">Colors</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/variables/">Variables</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/math-operations/">Math Operations</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/quoted-string/">Quoted String</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <button class="nav-item-toggle"></button> <a class="nav-link" href="theme/font-support/">Fonts</a> <ul class="nav-list"> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/custom-font/">Custom Fonts</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/prepare-custom-font/">Prepare a Custom Font</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/fallback-font/">Fallback Fonts</a> </li> <li class="nav-item" data-depth="3"> <a class="nav-link" href="theme/cjk/">Create a CJK Theme</a> </li> </ul> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/blocks/">Block Styles</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/block-images/">Block Image Styles</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/tables/">Table Styles</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/text/">Text Styles</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/images/">Theme Images</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/extend-theme/">Customize the Theme</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/custom-role/">Custom Roles</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/covers/">Covers</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/title-pages/">Title Page</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/add-running-content/">Add Running Content</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/page-numbers/">Configure the Page Numbers</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/print-and-prepress/">Print and Prepress Modes</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/apply-theme/">Apply a Theme</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/source-highlighting-theme/">Source Highlighting Themes</a> </li> </ul> </li> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle"></button> <a class="nav-link" href="theme/keys/">Theme Keys Reference</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/extends/">Extends</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/font/">Font</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/page/">Page</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/base/">Base</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/role/">Role</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/abstract/">Abstract</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/admonition/">Admonition</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/block/">Block</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/block-image/">Block Image</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/button/">Button</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/callout/">Callout List and Number</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/caption/">Caption</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/code/">Code Block</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/codespan/">Codespan</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/cover/">Cover</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/description-list/">Description List</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/example/">Example</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/footnotes/">Footnotes</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/heading/">Heading</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/index-section/">Index</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/keyboard/">Keyboard</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/link/">Link</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/list/">List</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/mark/">Mark</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/menu/">Menu</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/prose/">Prose</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/quote/">Quote</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/quotes/">Quotes</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/running-content/">Running Content</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/section/">Section</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/sidebar/">Sidebar</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/svg/">SVG</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/table/">Table</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/thematic-break/">Thematic Break</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/title-page/">Title Page</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/toc/">TOC</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="theme/verse/">Verse</a> </li> </ul> </li> </ul> </li> <li class="nav-item" data-depth="0"> <ul class="nav-list"> <li class="nav-item" data-depth="1"> <button class="nav-item-toggle"></button> <a class="nav-link" href="extend/">Extend the PDF Converter</a> <ul class="nav-list"> <li class="nav-item" data-depth="2"> <a class="nav-link" href="extend/create-converter/">Create a Converter</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="extend/use-converter/">Use the Converter</a> </li> <li class="nav-item" data-depth="2"> <a class="nav-link" href="extend/use-cases/">Use Cases</a> </li> </ul> </li> </ul> </li> </ul> </nav> <script> ;(function () { var panel = document.querySelector('.nav-panel-menu') var page var hash = window.location.hash if (hash) { if (~hash.indexOf('%')) hash = decodeURIComponent(hash) if (~hash.indexOf('"')) hash = hash.replace(/(?=")/g, '\\') var link = panel.querySelector('.nav-link[href="' + hash + '"]') if (link) page = link.parentNode else if ((page = panel.querySelector('.is-current-url'))) page.classList.add('is-provisional') } else { page = panel.querySelector('.is-current-url') } if (page) { var ancestor = page while ((ancestor = ancestor.parentNode) && ancestor !== panel) { if (ancestor.className === 'nav-item') ancestor.classList.add('is-current-path', 'is-active') } page.classList.add('is-current-page', 'is-active') if (panel.scrollHeight > panel.clientHeight) { var panelRect = panel.getBoundingClientRect() var linkRect = page.querySelector('.nav-link').getBoundingClientRect() panel.scrollTop += Math.round(linkRect.top - panelRect.top - (panelRect.height - linkRect.height) * 0.5) } } else { panel.scrollTop = 0 } panel.classList.remove('is-loading') })() </script> </div> <div class="nav-panel-explore" data-panel="explore"> <div class="context"> <span class="title">Asciidoctor PDF</span> <span class="version">2.2</span> </div> <ul class="components"> <li class="component"> <a class="title" href="../../asciidoc/latest/">AsciiDoc</a> </li> <li class="component"> <a class="title" href="../../asciidoctor/latest/">Asciidoctor</a> <ul class="versions"> <li class="version is-latest"> <a href="../../asciidoctor/latest/">2.0</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../asciidoctor.js/latest/">Asciidoctor.js</a> <ul class="versions"> <li class="version is-latest"> <a href="../../asciidoctor.js/latest/">3.0</a> </li> <li class="version"> <a href="../../asciidoctor.js/2.2/">2.2</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../asciidoctorj/latest/">AsciidoctorJ</a> <ul class="versions"> <li class="version is-latest"> <a href="../../asciidoctorj/latest/">3.0</a> </li> <li class="version"> <a href="../../asciidoctorj/2.5/">2.5</a> </li> </ul> </li> <li class="component is-current"> <a class="title" href="../latest/">Asciidoctor PDF</a> <ul class="versions"> <li class="version is-latest"> <a href="../latest/">2.3</a> </li> <li class="version is-current"> <a href="./">2.2</a> </li> <li class="version"> <a href="../2.1/">2.1</a> </li> <li class="version"> <a href="../2.0/">2.0</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../epub3-converter/latest/">Asciidoctor EPUB3</a> <ul class="versions"> <li class="version is-latest"> <a href="../../epub3-converter/latest/">2.1</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../reveal.js-converter/latest/">Asciidoctor reveal.js</a> <ul class="versions"> <li class="version is-latest"> <a href="../../reveal.js-converter/latest/">5.0</a> </li> <li class="version"> <a href="../../reveal.js-converter/4.1/">4.1</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../maven-tools/latest/">Maven Tools</a> <ul class="versions"> <li class="version is-latest"> <a href="../../maven-tools/latest/">3.1</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../gradle-plugin/latest/">Gradle Plugin Suite</a> <ul class="versions"> <li class="version is-latest"> <a href="../../gradle-plugin/latest/">4.0</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../asciidoclet/latest/">Asciidoclet</a> <ul class="versions"> <li class="version is-latest"> <a href="../../asciidoclet/latest/">2.0</a> </li> <li class="version"> <a href="../../asciidoclet/1.5.6/">1.5.6</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../diagram-extension/latest/">Asciidoctor Diagram</a> <ul class="versions"> <li class="version is-latest"> <a href="../../diagram-extension/latest/">2.2</a> </li> </ul> </li> <li class="component"> <a class="title" href="../../browser-extension/">Browser Extension</a> </li> <li class="component"> <a class="title" href="../../about/">Community</a> </li> </ul> </div> </div> </aside> </div> <main class="article"> <div class="toolbar" role="navigation"> <button class="nav-toggle"></button> <a href="../../" class="home-link" title="Home"></a> <nav class="breadcrumbs" aria-label="breadcrumbs"> <ul> <li><a href="./">Asciidoctor PDF</a></li> <li><a href="./" class="discrete">Introduction</a></li> </ul> </nav> <div class="page-versions"> <button class="version-menu-toggle" title="Show other versions of page">2.2</button> <div class="version-menu"> <a class="version" href="../latest/">2.3</a> <a class="version is-current" href="./">2.2</a> <a class="version" href="../2.1/">2.1</a> <a class="version" href="../2.0/">2.0</a> </div> </div> <a class="project-link" href="https://github.com/asciidoctor/asciidoctor-pdf" title="Project home"><span class="icon"><img src="../../_/img/octicons-16.svg#view-mark-github"></span></a> <div class="edit-this-page"><a href="https://github.com/asciidoctor/asciidoctor-pdf/edit/v2.2.x/docs/modules/ROOT/pages/index.adoc">Edit this Page</a></div> </div> <div class="content"> <aside class="toc sidebar" data-title="Contents" data-levels="2"> <div class="toc-menu"></div> </aside> <article class="doc pdf-converter"> <h1 class="page">Asciidoctor PDF Documentation</h1> <div id="preamble"> <div class="sectionbody"> <div class="paragraph"> <p>Asciidoctor PDF is a native PDF converter for AsciiDoc that plugs into the <code>pdf</code> backend. It bypasses the requirement to generate an intermediary format such as DocBook, Apache FO, or LaTeX. Instead, you can use Asciidoctor PDF to convert your documents directly from AsciiDoc to PDF. The aim of this library is to take the pain out of creating PDF documents from AsciiDoc.</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> <td class="content"> You&#8217;re viewing the documentation for Asciidoctor PDF 2.2. If you&#8217;re looking for the documentation for Asciidoctor PDF 1.6, refer to the <a href="https://github.com/asciidoctor/asciidoctor-pdf/tree/v1.6.x#readme">README</a> in the v1.6.x branch. Asciidoctor PDF 1.6 is no longer being developed and will reach EOL later this year. You are encouraged to migrate to Asciidoctor PDF 2 as soon as possible. </td> </tr> </table> </div> </div> </div> <div class="sect1"> <h2 id="overview"><a class="anchor" href="#overview"></a>Overview</h2> <div class="sectionbody"> <div class="paragraph"> <p>Asciidoctor PDF converts an AsciiDoc document directly to a PDF document. The style and layout of the PDF are controlled by a dedicated theme file. To the degree possible, Asciidoctor PDF supports all the features of AsciiDoc that are supported by Asciidoctor. It also provides <a href="features/" class="xref page">additional PDF-specific features</a>. However, there are <a href="features/#limitations" class="xref page">certain limits</a> imposed by the PDF format and the underlying PDF library this extension uses.</p> </div> <div class="paragraph"> <p>Asciidoctor PDF uses the Prawn gem and Prawn&#8217;s extensions, such as prawn-svg and prawn-table, to generate a PDF document. <a href="https://prawnpdf.org" target="_blank" rel="noopener">Prawn</a> is a general purpose PDF generator for Ruby that features high-level APIs for common needs like setting up the page and inserting images and low-level APIs for positioning and rendering text and graphics.</p> </div> </div> </div> <nav class="pagination"> <span class="next"><a href="whats-new/">What&#8217;s New</a></span> </nav> </article> </div> </main> </div> <footer class="footer"> <div class="footer-main"> <figure class="footer-brand"> <a class="logo" href="https://asciidoctor.org" target="_blank" rel="noopener"><img src="../../_/img/asciidoctor-logo.svg" alt="Asciidoctor" width="48"></a> <figcaption class="footer-brand-name"><a href="https://asciidoctor.org" target="_blank" rel="noopener">Asciidoctor</a></figcaption> </figure> <ul class="footer-brand-links"> <!-- <li><a href="https://asciidoctor.org" target="_blank" rel="noopener">Home</a></li> --> <li><a href="https://docs.asciidoctor.org">Docs</a></li> <li><a href="https://chat.asciidoctor.org" target="_blank" rel="noopener">Chat</a></li> <li><a href="https://github.com/asciidoctor" target="_blank" rel="noopener">Source</a></li> <li><a href="https://discuss.asciidoctor.org" target="_blank" rel="noopener">List (archive)</a></li> </ul> <p class="footer-brand-follow"> <a href="https://twitter.com/asciidoctor" title="Follow us on Twitter" target="_blank" rel="noopener"><img src="../../_/img/twitter-logo.svg" alt="Twitter logo" class="logo" width="28"><span class="handle">@asciidoctor</span></a> </p> </div> <div class="footer-legal"> <p>Copyright © 2025 Dan Allen, Sarah White, and individual Asciidoctor contributors. Except where noted, the content is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license.</p> <p>The <a href="https://github.com/asciidoctor/asciidoctor-docs-ui" target="_blank" rel="noopener">UI for this site</a> is derived from the Antora default UI and is licensed under the MPL-2.0 license. Several icons are imported from <a href="https://primer.style/octicons/" target="_blank" rel="noopener">Octicons</a> and are licensed under the MIT license.</p> <p>AsciiDoc® and AsciiDoc Language™ are trademarks of the Eclipse Foundation, Inc.</p> </div> <div class="footer-thanks"> <p>Thanks to our <a href="https://asciidoctor.org/supporters/" target="_blank" rel="noopener">backers</a> and <a href="https://asciidoctor.org/contributors/" target="_blank" rel="noopener">contributors</a> for helping to make this project possible. Additional thanks to:</p> <p class="badges"> <a href="https://opendevise.com" title="Development support by OpenDevise" target="_blank" rel="noopener"><img src="https://secure.gravatar.com/avatar/823717a797dbd78ceff7b26aa397f383.png?size=80" alt="OpenDevise Logo" width="30"></a> <a href="https://zulip.com" title="Chat powered by Zulip" target="_blank" rel="noopener"><img src="../../_/img/zulip-logo.svg" alt="Zulip logo" width="30"></a> <a href="https://algolia.com/docsearch" title="Search by Algolia DocSearch" target="_blank" rel="noopener"><img src="../../_/img/algolia-logo.svg" alt="Algolia logo" width="30"></a> <a href="https://netlify.com" title="Deploys by Netlify" target="_blank" rel="noopener"><img src="../../_/img/netlify-logo.svg" alt="Deploys by Netlify" width="67"></a> </p> <p>Authored in <a href="https://asciidoc.org" target="_blank" rel="noopener">AsciiDoc</a>.<br>Produced by <a href="https://antora.org" target="_blank" rel="noopener">Antora</a> and <a href="https://asciidoctor.org" target="_blank" rel="noopener">Asciidoctor</a>.</p> </div> </footer> <script id="site-script" src="../../_/js/site.js" data-ui-root-path="../../_"></script> <script async src="../../_/js/vendor/tabs.js"></script> <script async src="../../_/js/vendor/highlight.js"></script> <script async id="search-script" src="../../_/js/vendor/docsearch.js" data-app-id="V1SEVEBOXX" data-api-key="02ab3d2d0cab4dec119447e14abdd3bc" data-index-name="asciidoctor-docs" data-stylesheet="../../_/css/vendor/docsearch.css"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10