PDF Створення та редагування за допомогою Open Source JavaScript API

Open Source JavaScript Бібліотека для створення та редагування PDF Файли, додати & копіювання сторінок & вставити зображення до PDF через JavaScript.

PDF-Lib — це бібліотека JavaScript з відкритим вихідним кодом, яка дозволяє фахівцям із програмного забезпечення розробляти потужні програми для роботи з файлами PDF. Бібліотека має дуже багато функцій і розроблена для роботи в будь-якому сучасному середовищі виконання JavaScript. Він включає підтримку створення нових PDF-файлів, редагування існуючих PDF-документів, створення форм, додавання або видалення PDF-сторінок, копіювання сторінок між PDF-файлами, малювання тексту та зображень, вимірювання ширини та висоти тексту, розділення та об’єднання документів, читання та установлювати метадані PDF, малювати векторну графіку та багато іншого.

Бібліотека написана на Typescript і скомпільована на чистий JavaScript без інших залежностей. Одна з чудових цілей створення бібліотеки PDF-Lib полягала в тому, щоб вирішити проблему відсутності в екосистемі JavaScript надійної підтримки редагування або модифікації PDF. Існують різні хороші бібліотеки JavaScript, які підтримують створення PDF-файлів, але дуже небагато містять потужну підтримку для модифікації PDF. PDF-Lib включає повну підтримку модифікації PDF, а також роботу в усіх середовищах JavaScript (не лише Node або Browser).

Previous Next

Початок роботи з DF-Lib

Рекомендований і простий спосіб розпочати і встановити DF-Lib через num, а також на пряжі, нижче це команда.

Встановлення DF-Lib через нумерацію

 npm install --save pdf-lib 

Встановлення DF-Lib через пряжу

 yarn add pdf-lib 

PDF Створення та модифікація документів за JavaScript

Русский EnglishРусскийУкраїнськаPolskiItalianoEspañol汉语Bahasa Indonesiaहिन्दीPortuguês日本語DeutschFrançaisภาษาไทยελληνικά اللغة العربية Розробники програмного забезпечення можуть створити новий PDF документа з нуля за допомогою декількох ліній JavaScript коду всередині власних додатків. Після створення розробники можуть вставляти текст, малювати зображення або векторну графіку, тиснути їх шрифти, копіювати та тиснути сторінки з інших PDF-х, застосувати форматування та стилі їх вибору та багато іншого.

Як створити PDF документи за 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()

Статус на сервери

Часто буває дуже корисно використовувати наявну сторінку замість створення нової сторінки в документі PDF. Бібліотека PDF-Lib з відкритим вихідним кодом дозволяє програмістам копіювати сторінки з різних PDF-документів і додавати їх до бажаних PDF-документів без будь-яких зовнішніх залежностей. Спочатку вам потрібно завантажити обидва файли PDF, після цього ви можете скористатися командою copyPages(), щоб скопіювати потрібні сторінки, а потім використати команду addPage(), щоб додати сторінку в потрібне місце в документах PDF.

Додайте текст до наявного PDF-файлу за допомогою 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 & Читання метаданих з PDF файлів

Бібліотека PDF-Lib повністю підтримує доступ і читання метаданих документів PDF. Метадані є дуже важливою частиною PDF-документів і включають дуже важливу інформацію про PDF та його вміст, наприклад назву, тему, автора, інформацію про авторські права, автора, дату створення чи модифікації тощо. Використовуючи бібліотеку PDF-Lib, розробники програмного забезпечення можуть легко аналізувати та витягувати метадані з PDF-документа за допомогою лише кількох рядків коду JavaScript.

Додайте зображення до PDF за допомогою 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()

Додатки до PDF через JavaScript API

Іноді нам потрібно надати більш детальну інформацію про PDF-файл, щоб ми могли прикріпити інший файл до цього файлу. Тепер перевага цього файлу полягатиме в тому, що вкладення переміщатиметься разом із PDF-файлом, якщо ви перемістите його в інше місце. Бібліотека PDF-Lib з відкритим вихідним кодом дає розробникам програмного забезпечення можливість додавати інші файли до своїх PDF-документів у своїх програмах JavaScript. До PDF-файлу можна додавати різні типи файлів, як-от Microsoft Word, Excel, зображення, відео чи навіть інші PDF-файли.

Додатки до PDF за 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()
 Українська