この記事では、正確な印刷制御とプレビュー用に設計された <print-preview>
Web コンポーネントについて詳しく説明し、1994 ~ 1996 年の VBA アプリケーションを最新の Web ベースの電子商取引プラットフォームに移行する際の重大な課題に対処します。 元のアプリケーションは MS Access レポートに依存していたため、新しい Web 環境で納品書や請求書などの印刷可能なドキュメントを生成するための堅牢なソリューションが必要でした。
<print-preview>
コンポーネントは、いくつかの重要な機能を提供します。
実装:
コンポーネントは次のように HTML に統合されます:
<code class="language-html"><print-preview><paper-sheet><h1>Hello, Printer!</h1><p>This will look great on paper.</p></paper-sheet></print-preview></code>
各 <paper-sheet>
要素は 1 つのページを表します。 重要なのは、コンポーネントは <body>
要素の直接の子である必要があり、インスタンスは 1 つだけ許可されるということです。 コンポーネントは JavaScript 経由でロードされます:
<code class="language-javascript">import PrintPreview from './index.js';</code>
preview()
メソッドを使用して表示されます:
<code class="language-javascript">const printPreview = document.querySelector('print-preview'); if (printPreview) printPreview.preview();</code>
テンプレートの例 (請求書):
テンプレートは Access レポートの機能を置き換えます:
<code class="language-javascript">const invoiceTemplate = (data) => data.map((obj) => { // ... (Invoice data processing) ... return ` <paper-sheet><h2>Invoice</h2> <p> ... </p> <table part="table"></table></paper-sheet> `; }).join('');</code>
CSS と ::part
によるスタイル設定:
CSS と ::part
疑似要素は、レポート デザイナーと同様のスタイル機能を提供します。
<code class="language-css">print-preview { &::part(table) { border-collapse: collapse; margin-block-start: 4rem; width: 100%; } // ... (other styles) ... }</code>
テンプレート内で直接スタイル設定することも可能です。
画像処理:
このコンポーネントを使用すると、印刷プレビューでの画像の可視性を制御でき、表示、非表示、またはプリンターのトナーを節約するためのアウトラインとして表示するオプションが提供されます。
ローカリゼーション:
コンポーネントのインターフェース言語は、i18n
オブジェクトを使用して簡単に設定できます:
<code class="language-javascript">PrintPreview.i18n = { es: { // ... (Spanish translations) ... } };</code>
結論:
<print-preview>
コンポーネントは、Web アプリケーションで印刷出力を管理するための強力なソリューションを提供し、古いシステムのレポート生成機能を効果的に置き換えます。 著者は、このコンポーネントはまだ開発中であり、更新やバグ修正が行われる可能性があると述べています。 さらに詳しく調べるために、デモと GitHub リポジトリを利用できます。
ウェンデリン・ヤコーバーによるカバー画像:https://www.php.cn/link/86158a6b3924670a32dad65bbc41bd95
以上が印刷プレビューWebコンポーネントの作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。