Files
pdfme/ja/docs/expression.html
2026-04-03 16:30:56 +09:00

103 lines
32 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="ja" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-expression" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Expression | pdfme</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://pdfme.com/ja/img/ogimage.png"><meta data-rh="true" name="twitter:image" content="https://pdfme.com/ja/img/ogimage.png"><meta data-rh="true" property="og:url" content="https://pdfme.com/ja/docs/expression"><meta data-rh="true" property="og:locale" content="ja"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" name="docusaurus_locale" content="ja"><meta data-rh="true" name="docsearch:language" content="ja"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="式Expression | pdfme"><meta data-rh="true" name="description" content="式は{}で囲まれた表現を評価する機能です。"><meta data-rh="true" property="og:description" content="式は{}で囲まれた表現を評価する機能です。"><link data-rh="true" rel="icon" href="/ja/favicon.ico"><link data-rh="true" rel="canonical" href="https://pdfme.com/ja/docs/expression"><link data-rh="true" rel="alternate" href="https://pdfme.com/docs/expression" hreflang="en"><link data-rh="true" rel="alternate" href="https://pdfme.com/ja/docs/expression" hreflang="ja"><link data-rh="true" rel="alternate" href="https://pdfme.com/docs/expression" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://V6YWG1D4SV-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"式Expression","item":"https://pdfme.com/ja/docs/expression"}]}</script><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-1Z2MZW44WP"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-1Z2MZW44WP",{})</script>
<link rel="search" type="application/opensearchdescription+xml" title="pdfme" href="/ja/opensearch.xml">
<script src="https://media.ethicalads.io/media/client/ethicalads.min.js" async></script><link rel="stylesheet" href="/ja/assets/css/styles.5431d87a.css">
<script src="/ja/assets/js/runtime~main.6c709abc.js" defer="defer"></script>
<script src="/ja/assets/js/main.29a519aa.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(n,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus"><div role="region" aria-label="メインコンテンツまでスキップ"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">メインコンテンツまでスキップ</a></div><div class="theme-announcement-bar announcementBar_mb4j" role="banner"><div class="announcementBarPlaceholder_vyr4"></div><div class="content_knG7 announcementBarContent_xLdY">🚀 &nbsp; Check out our new <a target="_blank" rel="noopener noreferrer" href="https://deepwiki.com/pdfme/pdfme">DeepWiki</a>! Ask interactive questions on docs and source code. &nbsp; 🧑‍💻</div><button type="button" aria-label="閉じる" class="clean-btn close closeButton_CVFx announcementBarClose_gvF7"><svg viewBox="0 0 15 15" width="14" height="14"><g stroke="currentColor" stroke-width="3.1"><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"></path></g></svg></button></div><nav aria-label="ナビゲーション" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="ナビゲーションバーを開く" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/ja/"><b class="navbar__title text--truncate">pdfme</b></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/ja/docs/getting-started">ドキュメント</a><a class="navbar__item navbar__link" href="/ja/templates">サンプル</a><a class="navbar__item navbar__link" href="/ja/template-design">テンプレート設計</a><a href="https://github.com/pdfme/pdfme" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><a href="https://discord.gg/xWPTJbmgNV" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Discord<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><a href="https://app.pdfme.com?utm_source=website&amp;utm_content=navbar" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">pdfme Cloudを試す<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><a href="https://app.pdfme.com/contact?utm_source=website&amp;utm_content=navbar" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">お問い合わせ<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>日本語</a><ul class="dropdown__menu"><li><a href="/docs/expression" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="en">English</a></li><li><a href="/ja/docs/expression" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="ja">日本語</a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="システムモード" aria-label="ダークモードを切り替える(現在はシステムモード)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="検索 (Meta+k)" aria-keyshortcuts="Meta+k"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="8" stroke="currentColor" fill="none" stroke-width="1.4"></circle><path d="m21 21-4.3-4.3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">検索</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="先頭へ戻る" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="ドキュメントのサイドバー" class="menu thin-scrollbar menu_SIkG menuWithAnnouncementBar_GW3s"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ja/docs/getting-started"><span title="はじめに" class="linkLabel_WmDU">はじめに</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ja/docs/supported-features"><span title="サポートされている機能" class="linkLabel_WmDU">サポートされている機能</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ja/docs/tables"><span title="動的データを持つテーブル" class="linkLabel_WmDU">動的データを持つテーブル</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/ja/docs/expression"><span title="式Expression" class="linkLabel_WmDU">Expression</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ja/docs/headers-and-footers"><span title="ヘッダーとフッター" class="linkLabel_WmDU">ヘッダーとフッター</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="true" href="/ja/docs/custom-fonts"><span title="カスタマイズ" class="categoryLinkLabel_W154">カスタマイズ</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ja/docs/custom-fonts"><span title="カスタムフォント" class="linkLabel_WmDU">カスタムフォント</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ja/docs/custom-ui"><span title="カスタムUI" class="linkLabel_WmDU">カスタムUI</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ja/docs/custom-schemas"><span title="カスタムスキーマ(プラグイン)" class="linkLabel_WmDU">カスタムスキーマ(プラグイン)</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/ja/docs/cli"><span title="ツール (New)" class="categoryLinkLabel_W154">ツール (New)</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ja/docs/development-guide"><span title="開発ガイド" class="linkLabel_WmDU">開発ガイド</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ja/docs/migration-v6"><span title="Migration Guide v6" class="linkLabel_WmDU">Migration Guide v6</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ja/docs/template-contribution-guide"><span title="テンプレート貢献ガイド ❤️" class="linkLabel_WmDU">テンプレート貢献ガイド ❤️</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="パンくずリストのナビゲーション"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="ホームページ" class="breadcrumbs__link" href="/ja/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Expression</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">このページの見出し</button></div><div class="theme-doc-markdown markdown"><header><h1>Expression</h1></header>
<p>式は<code>{}</code>で囲まれた表現を評価する機能です。<br>
<!-- -->最も単純な例は<code>{1+1}</code>で、これは<code>2</code>と評価されます。</p>
<p>pdfmeでは、式は単純な計算だけでなく、ユーザー入力を活用することもできます。</p>
<p>例えば、以下のようなテンプレートを考えてみましょう:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">{</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;schemas&quot;: [</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> [</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;name&quot;: &quot;field1&quot;,</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;type&quot;: &quot;text&quot;,</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;content&quot;: &quot;Hello world&quot;,</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;readOnly&quot;: false,</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;name&quot;: &quot;field2&quot;,</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;type&quot;: &quot;text&quot;,</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;content&quot;: &quot;{field1} !&quot;, // 式!</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ...</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;readOnly&quot;: true,</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;basePdf&quot;: { &quot;width&quot;: 210, &quot;height&quot;: 297, &quot;padding&quot;: [20, 10, 20, 10] },</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain"> &quot;pdfmeVersion&quot;: &quot;5.0.0&quot;</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token plain">}</span><br></span></code></pre></div></div>
<p><code>field2</code>の値は<code>Hello world !</code>になります。式<code>{field1} !</code>は以下のように評価されます:</p>
<p><img decoding="async" loading="lazy" alt="expression" src="/ja/assets/images/expression-7dba0368ea99e7aa1c2057d92cbfd267.png" width="2126" height="1092" class="img_ev3q"></p>
<p>これは、<code>{field1}</code><code>field1</code>の値に置き換えられ、その後に<code>!</code>が追加されることを意味します。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="ユースケース">ユースケース<a href="#ユースケース" class="hash-link" aria-label="ユースケース への直接リンク" title="ユースケース への直接リンク" translate="no"></a></h2>
<p>以下のようなユースケースが考えられます:</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="フッターとヘッダーに日付やページ番号を表示する">フッターとヘッダーに日付やページ番号を表示する<a href="#フッターとヘッダーに日付やページ番号を表示する" class="hash-link" aria-label="フッターとヘッダーに日付やページ番号を表示する への直接リンク" title="フッターとヘッダーに日付やページ番号を表示する への直接リンク" translate="no"></a></h3>
<p>例えば、PDFの作成日をヘッダーに表示したり、フッターにページ番号を表示したりすることができます。ヘッダーとフッターについては<a class="" href="/ja/docs/headers-and-footers">こちら</a>で詳しく説明されていますが、ヘッダーとフッターに使用される<code>staticSchema</code>でも式を使用できます。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ユーザー入力を表示用に再利用する">ユーザー入力を表示用に再利用する<a href="#ユーザー入力を表示用に再利用する" class="hash-link" aria-label="ユーザー入力を表示用に再利用する への直接リンク" title="ユーザー入力を表示用に再利用する への直接リンク" translate="no"></a></h3>
<p>ユーザーが入力した値を表示用に再利用できます。例えば、ユーザーが入力した<code>firstName</code><code>lastName</code>というフィールドがある場合、それらを連結して<code>{firstName + &quot; &quot; + lastName}</code>として表示できます。</p>
<p>これにより、ユーザーが類似の情報を複数回入力する必要がなくなり、使いやすさが向上します。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="値を一箇所で管理する">値を一箇所で管理する<a href="#値を一箇所で管理する" class="hash-link" aria-label="値を一箇所で管理する への直接リンク" title="値を一箇所で管理する への直接リンク" translate="no"></a></h3>
<p>式を使用することで、値を一箇所で管理できます。例えば、<code>taxRate</code>という値がある場合、<code>taxRate</code>を変更するだけで、それが使用されているすべての場所に反映され、変更が容易になります。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="使用方法仕様">使用方法、仕様<a href="#使用方法仕様" class="hash-link" aria-label="使用方法、仕様 への直接リンク" title="使用方法、仕様 への直接リンク" translate="no"></a></h2>
<p>概要とユースケースを理解した後、具体的な使用方法と仕様について説明します。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="variables-that-can-be-used-within-expressions">式の使用方法<a href="#variables-that-can-be-used-within-expressions" class="hash-link" aria-label="式の使用方法 への直接リンク" title="式の使用方法 への直接リンク" translate="no"></a></h3>
<p>式は、<code>readOnly</code>プロパティが<code>true</code>に設定されている場合に<code>schema</code>プロパティで使用できます。デザイナーから、<code>Editable</code>チェックボックスをオフにすることで<code>readOnly</code>を設定できます。</p>
<p>以下のGIFに示すように、<code>Editable</code>チェックボックスをオフにすることで式の使用を開始できます。</p>
<p><img decoding="async" loading="lazy" alt="Change ReadOnly" src="/ja/assets/images/expression-change-readOnly-66cf6ef614ed110f4c394db84e49c905.gif" width="800" height="481" class="img_ev3q"></p>
<p>つまり、式が使用されているフィールドはユーザーが編集できません。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="式の制限とセキュリティ">式の制限とセキュリティ<a href="#式の制限とセキュリティ" class="hash-link" aria-label="式の制限とセキュリティ への直接リンク" title="式の制限とセキュリティ への直接リンク" translate="no"></a></h3>
<ul>
<li class="">アロー関数のみがサポートされています。</li>
<li class=""><code>eval</code>関数は使用できません。</li>
<li class=""><code>prototype</code>は使用できません。</li>
<li class="">以下のグローバルオブジェクトとそのメソッドのみが使用できます:<!-- -->
<ul>
<li class="">Math</li>
<li class="">String</li>
<li class="">Number</li>
<li class="">Boolean</li>
<li class="">Array</li>
<li class="">Object</li>
<li class="">Date</li>
<li class="">JSON</li>
<li class="">isNaN</li>
<li class="">parseFloat</li>
<li class="">parseInt</li>
<li class="">decodeURI</li>
<li class="">decodeURIComponent</li>
<li class="">encodeURI</li>
<li class="">encodeURIComponent</li>
</ul>
</li>
</ul>
<p>詳細な仕様については、<a href="https://github.com/pdfme/pdfme/blob/main/packages/common/src/expression.ts" target="_blank" rel="noopener noreferrer" class="">この実装</a>を参照してください。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="式内で使用できる変数">式内で使用できる変数<a href="#式内で使用できる変数" class="hash-link" aria-label="式内で使用できる変数 への直接リンク" title="式内で使用できる変数 への直接リンク" translate="no"></a></h3>
<ul>
<li class=""><strong>ユーザー入力値</strong>
<ul>
<li class=""><a class="" href="/ja/docs/supported-features#multivariable-text">複数変数テキスト</a><a class="" href="/ja/docs/supported-features#table">テーブル</a>に入力された値で、JSONとして解析できるものは解析後に使用できます。</li>
</ul>
</li>
<li class=""><strong>他の<code>readOnly</code>フィールドの値</strong>
<ul>
<li class="">別の<code>readOnly</code>フィールドの値に式が使用されている場合、式が評価された後の値が使用されます。</li>
</ul>
</li>
<li class=""><strong>組み込み変数</strong>
<ul>
<li class=""><code>currentPage</code></li>
<li class=""><code>totalPages</code></li>
<li class=""><code>date (YYYY/MM/DD)</code></li>
<li class=""><code>dateTime (YYYY/MM/DD HH:mm)</code></li>
</ul>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="式の例">式の例<a href="#式の例" class="hash-link" aria-label="式の例 への直接リンク" title="式の例 への直接リンク" translate="no"></a></h3>
<p>以下は使用できる式の例です:</p>
<ul>
<li class=""><strong>小計:</strong> <code>&#x27;{orders.reduce((sum, item) =&gt; sum + parseFloat(item[1] || 0) * parseFloat(item[2] || 0), 0)}&#x27;</code></li>
<li class=""><strong>税額:</strong> <code>&#x27;{Number(subtotalInput) * Number(tax.rate) / 100}&#x27;</code></li>
<li class=""><strong>合計:</strong> <code>&#x27;${Number(subtotal) + Number(tax)}&#x27;</code></li>
</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/pdfme/pdfme/tree/main/website/docs/expression.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>このページを編集</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="ドキュメントページ"><a class="pagination-nav__link pagination-nav__link--prev" href="/ja/docs/tables"><div class="pagination-nav__sublabel">前へ</div><div class="pagination-nav__label">動的データを持つテーブル</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/ja/docs/headers-and-footers"><div class="pagination-nav__sublabel">次へ</div><div class="pagination-nav__label">ヘッダーとフッター</div></a></nav></div></div><div class="col col--3"><div style="position:sticky;top:76px"><div class="tableOfContents_bqdL thin-scrollbar custom-toc"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#ユースケース" class="table-of-contents__link toc-highlight">ユースケース</a><ul><li><a href="#フッターとヘッダーに日付やページ番号を表示する" class="table-of-contents__link toc-highlight">フッターとヘッダーに日付やページ番号を表示する</a></li><li><a href="#ユーザー入力を表示用に再利用する" class="table-of-contents__link toc-highlight">ユーザー入力を表示用に再利用する</a></li><li><a href="#値を一箇所で管理する" class="table-of-contents__link toc-highlight">値を一箇所で管理する</a></li></ul></li><li><a href="#使用方法仕様" class="table-of-contents__link toc-highlight">使用方法、仕様</a><ul><li><a href="#variables-that-can-be-used-within-expressions" class="table-of-contents__link toc-highlight">式の使用方法</a></li><li><a href="#式の制限とセキュリティ" class="table-of-contents__link toc-highlight">式の制限とセキュリティ</a></li><li><a href="#式内で使用できる変数" class="table-of-contents__link toc-highlight">式内で使用できる変数</a></li><li><a href="#式の例" class="table-of-contents__link toc-highlight">式の例</a></li></ul></li></ul></div><div data-ea-publisher="pdfmecom" data-ea-type="image"></div></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">ドキュメント</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/ja/docs/getting-started">はじめに</a></li><li class="footer__item"><a class="footer__link-item" href="/ja/docs/supported-features">サポートされている機能</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">その他</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/ja/templates">サンプル</a></li><li class="footer__item"><a class="footer__link-item" href="/ja/template-design">テンプレート設計</a></li><li class="footer__item"><a href="https://app.pdfme.com?utm_source=website&amp;utm_content=footer" target="_blank" rel="noopener noreferrer" class="footer__link-item">pdfme Cloudを試す<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">コミュニティ</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/pdfme/pdfme" target="_blank" rel="noopener noreferrer" class="footer__link-item">Github<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://discord.gg/xWPTJbmgNV" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2025 pdfme</div></div></div></footer></div>
</body>
</html>