PDF sáng tạo và chỉnh sửa qua nguồn mở JavaScript API

Thư viện JavaScript mã nguồn mở để tạo và sửa đổi tệp PDF, thêm và sao chép trang và chèn hình ảnh vào PDF qua JavaScript.

PDF-Lib là một nguồn mở JavaScript thư viện cho phép các chuyên gia phần mềm phát triển các ứng dụng mạnh mẽ để làm việc với PDF file. Thư viện rất giàu có và thiết kế để làm việc trong thời gian JavaScript hiện đại. Nó bao gồm hỗ trợ cho việc tạo ra hồ sơ PDF mới, chỉnh sửa PDF tài liệu hiện tại, tạo ra các hình thức, thêm hoặc loại bỏ PDF trang, các trang ghi chép giữa PDFs, vẽ tin nhắn và hình ảnh, đo chiều rộng và chiều cao của tin nhắn, chia ra và thu thập tài liệu, đọc và thiết lập dữ liệu, vẽ vân tay và nhiều hơn nữa.

Thư viện được viết bằng Bản mô tả và được biên dịch thành JavaScript thuần túy mà không có phần phụ thuộc nào khác. Một mục đích tuyệt vời của việc tạo thư viện PDF-Lib là giải quyết vấn đề thiếu hỗ trợ mạnh mẽ của hệ sinh thái JavaScript để chỉnh sửa hoặc sửa đổi PDF. Có nhiều thư viện JavaScript tốt hỗ trợ tạo tệp PDF nhưng rất ít thư viện hỗ trợ sửa đổi PDF mạnh mẽ. PDF-Lib đã bao gồm hỗ trợ đầy đủ cho việc sửa đổi PDF cũng như hoạt động trong tất cả các môi trường JavaScript (không chỉ Node hoặc Trình duyệt).

Previous Next

Bắt đầu với DF-Lib

Cách được đề nghị và dễ dàng nhất để bắt đầu và cài đặt DF-Lib là thông qua chữ số cũng như sợi, dưới quyền chỉ huy.

cài đặt DF-Lib qua num

 npm install --save pdf-lib 

Cài đặt DF-Lib qua sợi

 yarn add pdf-lib 

PDF tài liệu sáng tạo và sửa đổi thông qua JavaScript

Thư viện PDF-Lib có chức năng hoàn chỉnh cho PDF tài liệu cũng như sửa đổi. Các nhà phát triển phần mềm có thể tạo ra PDF tài liệu mới từ vết xước chỉ với vài dòng mã JavaScript trong các ứng dụng riêng của họ. Một khi tạo ra các nhà phát triển có thể chèn tin nhắn, vẽ hình ảnh hoặc đồ họa, nhúng phông chữ, bản sao và các trang từ các loại khác, áp dụng định dạng và phong cách lựa chọn của họ, và nhiều hơn nữa.

Cách tạo ra PDF tài liệu qua JavaScript

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()

Đã rõ các trang giữa PDF tài liệu qua S Library

Việc sử dụng một trang hiện có thường rất có lợi thay vì tạo một trang mới bên trong tài liệu PDF. Thư viện PDF-Lib mã nguồn mở cho phép các lập trình viên máy tính sao chép các trang từ nhiều tài liệu PDF khác nhau và thêm chúng vào tài liệu PDF mong muốn của họ mà không có bất kỳ phụ thuộc bên ngoài nào. Trước tiên, bạn cần tải cả hai tệp PDF, sau đó, bạn có thể sử dụng lệnh copyPages() để sao chép các trang mong muốn, sau đó sử dụng lệnh addPage() để thêm trang vào vị trí mong muốn bên trong tài liệu PDF.

Thêm văn bản vào PDF hiện có bằng JavaScript

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()

Parke và đọc Metadata từ PDF Files

Thư viện PDF-Lib hỗ trợ đầy đủ việc truy cập và đọc siêu dữ liệu của tài liệu PDF. Siêu dữ liệu là một phần rất quan trọng của tài liệu PDF và bao gồm thông tin rất quan trọng về PDF và nội dung của nó như tiêu đề, chủ đề, tác giả, thông tin bản quyền, người tạo, ngày tạo hoặc sửa đổi, v.v. Sử dụng phần mềm thư viện PDF-Lib, các nhà phát triển phần mềm có thể dễ dàng phân tích cú pháp và trích xuất siêu dữ liệu từ tài liệu PDF chỉ bằng một vài dòng mã JavaScript.

Thêm hình ảnh vào PDF bằng JavaScript


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()

Thêm tập tin vào PDF đến JavaScript API

Đôi khi, chúng tôi cần cung cấp thông tin chi tiết hơn về tệp PDF, để chúng tôi có thể đính kèm một tệp khác vào tệp đó. Giờ đây, lợi ích của tệp đó là tệp đính kèm sẽ di chuyển cùng với tệp PDF nếu bạn di chuyển tệp đến một vị trí khác. Thư viện PDF-Lib nguồn mở cung cấp cho các nhà phát triển phần mềm khả năng đính kèm các tệp khác vào tài liệu PDF bên trong ứng dụng JavaScript của họ. Có thể đính kèm nhiều loại tệp khác nhau vào PDF, chẳng hạn như Microsoft Word, Excel, hình ảnh, video hoặc thậm chí các tệp PDF khác.

Thêm tệp đính kèm vào PDF bằng JavaScript

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()
 Tiếng Việt