1. Termékek
  2.   PDF
  3.   JavaScript
  4.   PDF-Lib
 
  

PDF Teremtés és szerkesztés nyílt forráskódú JavaScript API

Nyílt forráskódú JavaScript könyvtár PDF fájlok létrehozására és módosítására, hozzáadása és másolási oldalak és képek beillesztése PDF-re JavaScript-re.

A PDF-Lib egy nyílt forráskódú JavaScript-könyvtár, amely lehetővé teszi a szoftveres szakemberek számára, hogy hatékony alkalmazásokat fejlesszenek PDF-fájlokkal való munkavégzéshez. A könyvtár nagyon gazdag funkciókban, és úgy tervezték, hogy bármilyen modern JavaScript futtatókörnyezetben működjön. Támogatja új PDF fájlok létrehozását, meglévő PDF dokumentumok szerkesztését, űrlapok létrehozását, PDF oldalak hozzáadását vagy eltávolítását, oldalak másolását a PDF fájlok között, szöveg és képek rajzolását, a szöveg szélességének és magasságának mérését, dokumentumok felosztását és egyesítését, olvasást és PDF-metaadatok beállítása, vektorgrafika rajzolása és még sok más.

A könyvtár Typescript-ben van írva, és a tiszta JavaScript-hoz van összeállítva más függőségekkel. A PDF-Lib könyvtár létrehozásának egyik nagy célja a JavaScript ökoszisztéma PDF szerkesztés vagy módosítás robusztus támogatásának hiánya volt. Vannak különböző jó JavaScript könyvtárak, amelyek támogatják a létrehozását PDF fájlokat, de nagyon kevés tartalmazott erős támogatást PDF módosítás. A PDF-Lib teljes körű támogatást nyújtott be a PDF-os módosításra, valamint az összes JavaScript környezetben (nem csak Node vagy a Browser).

Previous Next

Kezdőlap > DF-Lib

Az ajánlott és legegyszerűbb módja annak, hogy elkezdődjön, és telepítse a DF-Lib-t a numán és a yarnon keresztül, az alábbiakban a parancs.

DF-Lib telepítése num segítségével

 npm install --save pdf-lib 

DF-Lib telepítése yarnon keresztül

 yarn add pdf-lib 

PDF Dokumentumok Teremtés és módosítás JavaScript-on keresztül

A nyílt forráskódú PDF-lib könyvtár teljes funkcionalitást tartalmazott a PDF-ös dokumentumkészítéshez, valamint a módosításhoz. A szoftverfejlesztők új PDF dokumentumot hozhatnak létre a karcolásból, csak néhány JavaScript kódot tartalmaznak saját alkalmazásaikban. Miután létrehozták a fejlesztők szöveget, képeket vagy vektor grafikákat állíthatnak be, beágyazták betűiket, másolatot és beágyazott oldalakat más PDF-ből, alkalmazzák a formázást és stílusokat a választásukról, és még sok más.

Hogyan hozhat létre PDF dokumentumot JavaScript-en keresztül

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

Copy Pages PDF Dokumentumok S könyvtáron keresztül

Gyakran nagyon előnyös, hogy egy meglévő oldalt használjon, ahelyett, hogy új oldalt hozna létre egy PDF dokumentumban. A nyílt forráskódú PDF-Lib könyvtár lehetővé teszi a számítógépes programozók számára, hogy másolják az oldalakat különböző PDF dokumentumokból, és hozzáadják őket a kívánt PDF dokumentumokhoz külső függőségek nélkül. Először is, PDF fájlt kell betöltenie, ezt követően copyPages() parancsot használhat a kívánt oldalak másolására, majd a addPage() parancsot kell használnia, hogy hozzáadja az oldalt az PDF dokumentumban található kívánt helyre.

Szöveg hozzáadása a meglévő PDF-hez JavaScript használatával

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 & Read Metadata PDF fájlból

A PDF-Lib könyvtár teljes mértékben támogatja a PDF dokumentum metaadatainak elérését és olvasását. A Metadata nagyon fontos része PDF dokumentumnak, és nagyon jelentős információkat tartalmazott a PDF-ról és annak tartalmairól, például a címről, a tárgyról, a szerzőről, a szerzői információkról, a teremtésről vagy a módosításról, és így tovább. A PDF-Lib könyvtári szoftverfejlesztők segítségével könnyedén kivonhatják és kivonhatják a metaadatot egy PDF dokumentumból, mindössze néhány JavaScript kódos vonallal.

Kép hozzáadása a PDF-hez JavaScript használatával


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

Mellékletek hozzáadása PDF-hez JavaScript API-n keresztül

Néha részletesebb információkat kell szolgáltatnunk egy PDF fájlról, így egy másik fájlt is csatolhatunk. Most ennek a fájlnak az az előnye, hogy a csatolás a PDF-tel utazik, ha más helyre költözik. A nyílt forráskódú PDF-Lib könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy JavaScript alkalmazásukon belül más fájlokat csatolhassanak. Lehetőség van különböző típusú fájlok egy PDF, mint például a Microsoft Word, Excel, képek, videó vagy akár más PDF.

Csatlakozások hozzáadása PDF-hoz 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()
 Magyar