PDF-oppretting og redigering via Open Source JavaScript API
Open Source JavaScript-bibliotek for å lage og endre PDF-filer, legge til og kopiere sider og sette inn bilder til PDF via JavaScript.
PDF-Lib er et JavaScript-bibliotek med åpen kildekode som lar programvarefagfolk utvikle kraftige applikasjoner for arbeid med PDF-filer. Biblioteket er svært funksjonsrikt og designet for å fungere i enhver moderne JavaScript-kjøring. Den har inkludert støtte for å lage nye PDF-filer, redigere eksisterende PDF-dokumenter, lage skjemaer, legge til eller fjerne PDF-sider, kopiere sider mellom PDF-er, tegne tekst og bilder, måle bredden og høyden på teksten, dele og slå sammen dokumenter, lese og angi PDF-metadata, Tegn vektorgrafikk og mange flere.
Biblioteket er skrevet i Typescript og kompilert til ren JavaScript uten andre avhengigheter. En stor hensikt med opprettelsen av PDF-Lib-biblioteket var å adressere JavaScript-økosystemets mangel på robust støtte for PDF-redigering eller modifikasjon. Det er forskjellige gode JavaScript-biblioteker som støtter oppretting av PDF-filer, men svært få inkluderte sterk støtte for PDF-modifisering. PDF-Lib har inkludert fullstendig støtte for PDF-modifikasjoner, samt arbeid i alle JavaScript-miljøer (ikke bare Node eller nettleseren).
Komme i gang med PDF-Lib
Den anbefalte og enkleste måten å komme i gang og installere PDF-Lib på er via npm samt på yarn, nedenfor er kommandoen.
installer PDF-Lib via npm
npm install --save pdf-lib
installer PDF-Lib via garn
yarn add pdf-lib
Oppretting og endring av PDF-dokumenter via JavaScript
Åpen kildekode PDF-Lib-biblioteket har inkludert komplett funksjonalitet for oppretting av PDF-dokumenter samt modifikasjoner. Programvareutviklere kan lage et nytt PDF-dokument fra bunnen av med bare et par linjer med JavaScript-kode i sine egne applikasjoner. Når utviklere er opprettet, kan de sette inn tekst, tegne bilder eller vektorgrafikk, bygge inn skriftene deres, kopiere og bygge inn sider fra andre PDF-filer, bruke formatering og stiler etter eget valg, og mye mer.
Hvordan lage PDF-dokumenter via 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()
Kopier sider mellom PDF-dokumenter via JS Library
Det er ofte svært fordelaktig å bruke en eksisterende side i stedet for å lage en ny side inne i et PDF-dokument. Open source PDF-Lib-biblioteket gjør det mulig for dataprogrammerere å kopiere sider fra ulike PDF-dokumenter og legge dem til de ønskede PDF-dokumentene uten eksterne avhengigheter. Først må du laste inn begge PDF-filene, etter det kan du bruke copyPages()-kommandoen for å kopiere de ønskede sidene, og deretter bruke addPage()-kommandoen for å legge til siden på ønsket plassering i PDF-dokumentene.
Legg til tekst i eksisterende PDF ved hjelp av 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()
Analyser og les metadata fra PDF-filer
PDF-Lib-biblioteket støtter fullt ut tilgang til og lesing av metadata for PDF-dokumenter. Metadata er en svært viktig del av PDF-dokumenter og har inkludert svært viktig informasjon om PDF-en og dens innhold som tittel, emne, forfatter, informasjon om opphavsrett, skaper, dato for opprettelse eller endring, og så videre. Ved å bruke PDF-Lib bibliotekprogramvare kan utviklere enkelt analysere og trekke ut metadata fra et PDF-dokument med bare et par linjer med JavaScript-kode.
Legg til bilde til PDF ved hjelp av 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()
Legg til vedlegg til PDF via JavaScript API
Noen ganger må vi gi mer detaljert informasjon om en PDF-fil, slik at vi kan legge ved en annen fil til den filen. Nå vil fordelen med den filen være at vedlegget vil reise med PDF-en hvis du flytter det til et annet sted. PDF-Lib-biblioteket med åpen kildekode gir programvareutviklere muligheten til å legge ved andre filer til PDF-dokumentene sine i JavaScript-appene deres. Det er mulig å legge ved ulike typer filer til en PDF, for eksempel Microsoft Word, Excel, bilder, video eller til og med andre PDF-filer.
Legg til vedlegg til PDF ved hjelp av 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()