Създаване и редактиране чрез Open Source JavaScript API

Отворен източник JavaScript Библиотека за създаване и модифициране на PDF файла, добавяне копиране страници вмъкване на изображения до PDF чрез JavaScript.

PDF-Lib е библиотека с отворен код, която позволява на софтуерните специалисти да разработват мощни приложения за работа със PDF файла. Библиотеката е много богата на функции и е проектирана да работи във всеки модерен JavaScript runtime. Тя включва поддръжка за създаване на нови PDF файла, редактиране на съществуващи PDF документа, създаване на формуляри, добавяне или премахване на PDF страници, копиране на текст и изображения, измерване на ширината и височината на текста,

Библиотеката е написана на Typescript и се съставя на JavaScript без други зависимости. Една от големите цели на създаването на PDF библиотеки е да се отговори на липсата на силна подкрепа от JavaScript екосистема за PDF редактиране или модификация. Има различни добри JavaScript библиотеки, които поддържат създаването на PDF файла, но много малко включват силна подкрепа за PDF модификации. PDF-либ включва пълна подкрепа за PDF модификация, както и работа във всички JavaScript среди (не само възел или браузър).

Previous Next

Започнете с DF-Lib

Препоръчителният и най-лесният начин да започнете и инсталирате DF-Lib е чрез число, както и при прежда, по-долу е командата.

инсталиране на DF-Lib чрез

 npm install --save pdf-lib 

Инсталиране на DF-Lib чрез прежда

 yarn add pdf-lib 

PDF Създаване и промяна на документи чрез JavaScript

Библиотеката с отворен код включва пълна функционалност за създаване на PDF документа, както и модификация. Разработчиците на софтуер могат да създадат нов PDF документ от нулата само с няколко реда JavaScript код в собствените си приложения. Веднъж създадени разработчици могат да вмъкват текст, да рисуват изображения или векторна графика, да вграждат шрифтове, да копират и вграждат страници от други PDFs, да прилагат форматиране и стилове по техен избор.

Как да създадете 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 документа чрез S Library

Често е много полезно да използвате съществуваща страница, вместо да създавате нова страница в 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-либ софтуерни разработчици може лесно да анализира и извлича метаданни от 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

Понякога трябва да предоставим по-подробна информация за 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()
 Български