PDF Skapande och redigering via Open Source JavaScript API
Open Source JavaScript Bibliotek för att skapa och ändra PDF filer, lägga till och kopiera sidor och infoga bilder till PDF via JavaScript.
PDF-Lib är ett open source JavaScript-bibliotek som gör det möjligt för programvarupersonal att utveckla kraftfulla applikationer för att arbeta med PDF filer. Biblioteket är mycket funktionsrikt och utformat för att fungera i alla moderna JavaScript runtime. Det har inkluderat stöd för nya PDF filer skapa, redigera befintliga PDF dokument, skapa formulär, lägga till eller ta bort PDF sidor, Kopiera sidor mellan PDFs, rita text och bilder, mäta bredden och höjden av texten, dela och sammanslagna dokument, läsa och ställa in PDF metadata, Draw Vector Graphics och många fler.
Biblioteket är skrivet i Typescript och kompilerat till ren JavaScript utan andra beroenden. Ett stort syfte med skapandet av PDF-Lib-biblioteket var att åtgärda JavaScript-ekosystemets brist på robust stöd för PDF-redigering eller modifiering. Det finns olika bra JavaScript-bibliotek som stöder skapandet av PDF-filer men väldigt få inkluderade starkt stöd för PDF-modifiering. PDF-Lib har inkluderat komplett stöd för PDF-modifiering och fungerar i alla JavaScript-miljöer (inte bara Node eller webbläsaren).
Komma igång med DF-Lib
Det rekommenderade och enklaste sättet att komma igång och installera DF-Lib är via num samt på garn, nedan är kommandot.
Installera DF-Lib via Num
npm install --save pdf-lib
Installera DF-Lib via garn
yarn add pdf-lib
PDF Dokument Creation & Modifiering via JavaScript
Den öppna källan PDF-Lib biblioteket har inkluderat fullständig funktionalitet för PDF dokument skapande samt modifiering. Programutvecklare kan skapa ett nytt PDF-dokument från grunden med bara ett par rader med JavaScript-kod i sina egna applikationer. När skapade utvecklare kan infoga text, rita bilder eller vektorgrafik, bädda in sina teckensnitt, kopiera och bädda in sidor från andra PDF-tal, tillämpa formatering och stilar av deras val, och mycket mer.
Hur man skapar PDF dokument 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()
Kopiera sidor mellan PDF dokument via S-bibliotek
Det är ofta mycket fördelaktigt att använda en befintlig sida istället för att skapa en ny sida i ett PDF-dokument. Den öppna källkoden PDF-Lib bibliotek gör det möjligt för programmerare att kopiera sidor från olika PDF dokument och lägga till dem i sina önskade PDF dokument utan några externa beroenden. Först måste du ladda båda PDF filer, efter det kan du använda copyPages() kommandot för att kopiera önskade sidor och sedan använda kommandot addPage() för att lägga till sidan på önskad plats i de PDF dokumenten.
Lägg till text till befintlig PDF med 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 & Read Metadata från PDF filer
PDF-Lib-biblioteket stöder fullständigt åtkomst och läsning av metadata av PDF dokument. Metadata är en mycket viktig del av PDF dokument och har inkluderat mycket viktig information om PDF och dess innehåll som titel, ämne, författare, upphovsrättsinformation, skapare, datum för skapande eller ändring, och så vidare. Användning av PDF-Lib biblioteksprogramutvecklare kan enkelt analysera och extrahera metadata från ett PDF-dokument med bara ett par rader av JavaScript-kod.
Lägg till bild till PDF med 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()
Lägga till bilagor till PDF via JavaScript API
Ibland behöver vi ge mer detaljerad information om en PDF-fil, så att vi kan bifoga en annan fil till filen. Nu är fördelen med den filen att bilagan kommer att resa med PDF om du flyttar den till en annan plats. Den öppna källan PDF-Lib biblioteket ger mjukvaruutvecklare möjlighet att bifoga andra filer till sina PDF dokument i sina JavaScript appar. Det är möjligt att fästa olika typer av filer till en PDF, till exempel Microsoft Word, Excel, bilder, video eller till och med andra PDF.
Lägg till bilagor till PDF med 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()