PDF オープンソースによる創造と編集 JavaScript API
PDF ファイルの作成と変更、ページの追加とコピー、および JavaScript を介した PDF への画像の挿入のためのオープン ソース JavaScript ライブラリ。
PDF-Lib は、ソフトウェアの専門家が PDF ファイルを操作するための強力なアプリケーションを開発できるようにするオープン ソースの JavaScript ライブラリです。このライブラリは非常に機能が豊富で、最新の JavaScript ランタイムで動作するように設計されています。新しい PDF ファイルの作成、既存の PDF ドキュメントの編集、フォームの作成、PDF ページの追加または削除、PDF 間でのページのコピー、テキストと画像の描画、テキストの幅と高さの測定、ドキュメントの分割と結合、読み取りと読み取りのサポートが含まれています。 PDF メタデータの設定、ベクター グラフィックスの描画など。
ライブラリは Typescript で記述され、他の依存関係のない純粋な JavaScript にコンパイルされます。 PDF-Lib ライブラリを作成した大きな目的の 1 つは、PDF の編集または変更に対する JavaScript エコシステムの強力なサポートの欠如に対処することでした。 PDF ファイルの作成をサポートするさまざまな優れた JavaScript ライブラリがありますが、PDF の変更を強力にサポートするものはほとんどありません。 PDF-Lib には、PDF の変更の完全なサポートと、すべての JavaScript 環境 (Node や Browser だけでなく) での作業が含まれています。
DF-Lib入門
DF-Libを起動し、インストールするための推奨かつ最も簡単な方法は、num だけでなく、 yarn で、以下のコマンドです。
DF-Libをnumによって取付けて下さい
npm install --save pdf-lib
糸でDF-Libをインストール
yarn add pdf-lib
JavaScript による PDF ドキュメントの作成と変更
オープンソースPDF-Libライブラリには、PDFの文書作成や修正のための完全な機能が含まれています。 ソフトウェア開発者は、独自のアプリケーション内のJavaScriptコードのほんの数の行で、スクラッチから新しいPDFドキュメントを作成できます。 開発者がテキストを作成したり、画像やベクターグラフィックスを描画したり、フォントを埋めたり、他のPDF秒からページをコピーしたり埋め込みたり、フォーマットやスタイルを適用するなど、より多く。
JavaScriptでPDFドキュメントを作成する方法
import { PDFDocument, StandardFonts, rgb } from 'pdf-lib'
// Create a new PDFDocument
const pdfDoc = await PDFDocument.create()
// Embed the Times Roman font
const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)
// Add a blank page to the document
const page = pdfDoc.addPage()
// Get the width and height of the page
const { width, height } = page.getSize()
// Draw a string of text toward the top of the page
const fontSize = 30
page.drawText('Creating PDFs in JavaScript is awesome!', {
x: 50,
y: height - 4 * fontSize,
size: fontSize,
font: timesRomanFont,
color: rgb(0, 0.53, 0.71),
})
// Serialize the PDFDocument to bytes (a Uint8Array)
const pdfBytes = await pdfDoc.save()
SライブラリからPDFドキュメント間のコピーページ
多くの場合、PDF ドキュメント内に新しいページを作成する代わりに、既存のページを使用することは非常に有益です。オープン ソースの PDF-Lib ライブラリを使用すると、コンピューター プログラマーはさまざまな PDF ドキュメントからページをコピーし、外部に依存することなく目的の PDF ドキュメントに追加できます。まず、両方の PDF ファイルをロードする必要があります。その後、copyPages() コマンドを使用して目的のページをコピーし、次に addPage() コマンドを使用して PDF ドキュメント内の目的の場所にページを追加します。
JavaScript を使用して既存の PDF にテキストを追加する
import { PDFDocument } from 'pdf-lib'
// Create a new PDFDocument
const pdfDoc = await PDFDocument.create()
const firstDonorPdfBytes = ...
const secondDonorPdfBytes = ...
// Load a PDFDocument from each of the existing PDFs
const firstDonorPdfDoc = await PDFDocument.load(firstDonorPdfBytes)
const secondDonorPdfDoc = await PDFDocument.load(secondDonorPdfBytes)
// Copy the 1st page from the first donor document, and
// the 743rd page from the second donor document
const [firstDonorPage] = await pdfDoc.copyPages(firstDonorPdfDoc, [0])
const [secondDonorPage] = await pdfDoc.copyPages(secondDonorPdfDoc, [742])
// Add the first copied page
pdfDoc.addPage(firstDonorPage)
// Insert the second copied page to index 0, so it will be the
// first page in `pdfDoc`
pdfDoc.insertPage(0, secondDonorPage)
// Serialize the PDFDocument to bytes (a Uint8Array)
const pdfBytes = await pdfDoc.save()
PDFファイルからメタデータを読み込む
PDF-Lib ライブラリは、PDF ドキュメントのメタデータへのアクセスと読み取りを完全にサポートします。メタデータは PDF ドキュメントの非常に重要な部分であり、タイトル、件名、作成者、著作権情報、作成者、作成日または変更日など、PDF とその内容に関する非常に重要な情報が含まれています。 PDF-Lib ライブラリ ソフトウェアを使用すると、開発者は、わずか数行の JavaScript コードで、PDF ドキュメントからメタデータを簡単に解析および抽出できます。
JavaScript を使用して PDF に画像を追加する
import { PDFDocument, StandardFonts } from 'pdf-lib'
// Create a new PDFDocument
const pdfDoc = await PDFDocument.create()
// Embed the Times Roman font
const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)
// Add a page and draw some text on it
const page = pdfDoc.addPage([500, 600])
page.setFont(timesRomanFont)
page.drawText('The Life of an Egg', { x: 60, y: 500, size: 50 })
page.drawText('An Epic Tale of Woe', { x: 125, y: 460, size: 25 })
// Set all available metadata fields on the PDFDocument. Note that these fields
// are visible in the "Document Properties" section of most PDF readers.
pdfDoc.setTitle('🥚 The Life of an Egg 🍳')
pdfDoc.setAuthor('Humpty Dumpty')
pdfDoc.setSubject('📘 An Epic Tale of Woe 📖')
pdfDoc.setKeywords(['eggs', 'wall', 'fall', 'king', 'horses', 'men'])
pdfDoc.setProducer('PDF App 9000 🤖')
pdfDoc.setCreator('pdf-lib (https://github.com/Hopding/pdf-lib)')
pdfDoc.setCreationDate(new Date('2018-06-24T01:58:37.228Z'))
pdfDoc.setModificationDate(new Date('2019-12-21T07:00:11.000Z'))
// Serialize the PDFDocument to bytes (a Uint8Array)
const pdfBytes = await pdfDoc.save()
添付ファイルをJavaScript APIを介してPDFに追加
場合によっては、PDF ファイルに関するより詳細な情報を提供する必要があるため、そのファイルに別のファイルを添付することができます。このファイルの利点は、添付ファイルを別の場所に移動した場合に PDF と共に移動することです。オープン ソースの PDF-Lib ライブラリにより、ソフトウェア開発者は、JavaScript アプリ内の PDF ドキュメントに他のファイルを添付することができます。 Microsoft Word、Excel、画像、ビデオ、その他の PDF など、さまざまな種類のファイルを PDF に添付できます。
JavaScript を使用して PDF に添付ファイルを追加
const jpgAttachmentBytes = ...
const pdfAttachmentBytes = ...
// Create a new PDFDocument
const pdfDoc = await PDFDocument.create()
// Add the JPG attachment
await pdfDoc.attach(jpgAttachmentBytes, 'cat_riding_unicorn.jpg', {
mimeType: 'image/jpeg',
creationDate: new Date('2019/12/01'),
modificationDate: new Date('2020/04/19'),
})
// Add the PDF attachment
await pdfDoc.attach(pdfAttachmentBytes, 'us_constitution.pdf', {
mimeType: 'application/pdf',
creationDate: new Date('1787/09/17'),
modificationDate: new Date('1992/05/07'),
})
// Add a page with some text
const page = pdfDoc.addPage();
page.drawText('This PDF has two attachments', { x: 135, y: 415 })
// Serialize the PDFDocument to bytes (a Uint8Array)
const pdfBytes = await pdfDoc.save()