Gratis JavaScript-bibliotheek voor PDF-metadatabeheer
Gratis en open source JavaScript-bibliotheek voor het beheren van metagegevens van PDF-documenten.
Wat is pdf-lib?
Pdf-lib is een gratis en open source JavaScript-bibliotheek voor het werken met PDF-documenten om bewerkingen uit te voeren zoals het maken van nieuwe PDF's vanaf nul, het wijzigen van bestaande PDF's of het lezen en bijwerken van metadata van PDF-documenten. We hebben het al gehad over de PDF-bewerkingsfuncties van pdf-lib, maar in deze review richten we ons alleen op de metadatabeheerfuncties van pdf-lib, waaronder:
- Auteur
- Schepper
- Producent
- Titel
- Onderwerp
- Trefwoorden
- Taal
- Aanmaakdatum
- Wijzigingsdatum
- Metagegevens bijwerken: U kunt bovenstaande metagegevens van PDF-documenten ook bijwerken met behulp van pdf-lib.
GitHub-statistieken
Naam: pdf-libTaal: TypeScript
Sterren: 7.4K
Vorken: 728
Licentie: MIT License
De opslagplaats is voor het laatst bijgewerkt op 2025-04-06
Aan de slag met pdf-lib
Er zijn twee manieren om pdf-lib te installeren:
NPM-modules
U kunt npm-modules gebruiken als u npm of yarn als pakketbeheerder gebruikt:
Installeren met behulp van NPM
npm install --save pdf-lib
Installeren met behulp van Yarn
yarn add pdf-lib
UMD-modules
Als u geen pakketbeheerder gebruikt, zijn UMD-modules beschikbaar op de CDN's unpkg en jsDelivr:
- https://unpkg.com/pdf-lib/dist/pdf-lib.js
- https://unpkg.com/pdf-lib/dist/pdf-lib.min.js
- https://cdn.jsdelivr.net/npm/pdf-lib/dist/pdf-lib.js
- https://cdn.jsdelivr.net/npm/pdf-lib/dist/pdf-lib.min.js
Metadata van PDF lezen
We kunnen de pdf-lib bibliotheek gebruiken om metadata van PDF documenten te lezen. Er zijn veel functies zoals getAuthor, getCreator, getCreationDate etc. die toegang tot of extractie van metadata van de PDF documenten mogelijk maken zoals gedemonstreerd in het onderstaande codefragment:
// Import necessary modules from 'pdf-lib' | |
import { PDFDocument } from 'pdf-lib'; | |
// Import 'fs/promises' for file system operations | |
import fs from 'fs/promises'; | |
async function getMetadata(pdfDoc) { | |
// Get and Display the Metadata of a document | |
console.log("Author: ", pdfDoc.getAuthor()); | |
console.log("Creator: ", pdfDoc.getCreator()); | |
console.log("Creation Date: ", pdfDoc.getCreationDate()); | |
console.log("Modification Date: ", pdfDoc.getModificationDate()); | |
console.log("Number of pages: ", pdfDoc.getPageCount()); | |
} | |
// Read a PDF Document | |
const existingpdf = await fs.readFile('modified-pdf.pdf'); | |
const pdfDoc = await PDFDocument.load(existingpdf); | |
// Call getMetadata() to fetch metadata of a function | |
getMetadata(pdfDoc) | |
.then(() => { | |
// Log success message if metadata is changed successfully | |
console.log('Metadata Fetched Successfully'); | |
}) | |
.catch((error) => { | |
// Log an error message if an error occurs during metadata modification | |
console.error('Error: ', error); | |
}); |
Uitvoer
Het bovenstaande codefragment toont metagegevens van het PDF-document zoals hieronder weergegeven:
Metagegevens van PDF bewerken
We kunnen ook de pdf-lib bibliotheek gebruiken om metadata van PDF documenten te bewerken of te updaten. Net als get functies (getAuthor, getCreator etc.), biedt pdf-lib ook set functies (zoals setAuthor, setCreator etc.) om metadata van PDF bestanden te updaten. We zullen de setAuthor en setTitle functies gebruiken om de metadata van een PDF document te updaten in onderstaand codefragment voor demonstratiedoeleinden:
// Import necessary modules from 'pdf-lib' | |
import { PDFDocument } from 'pdf-lib'; | |
// Import 'fs/promises' for file system operations | |
import fs from 'fs/promises'; | |
// Function to set metadata of a PDF document | |
async function setMetadata(pdfDoc) { | |
// Change the Metadata of the PDF Document | |
// Set the author metadata | |
pdfDoc.setAuthor("Document Processing"); | |
// Set the title metadata | |
pdfDoc.setTitle("Test Document"); | |
// Save the modified PDF as bytes | |
const modifiedPdfBytes = await pdfDoc.save(); | |
// Write the modified PDF bytes to a new file | |
await fs.writeFile("modified-pdf.pdf", modifiedPdfBytes); | |
} | |
// Read the PDF file as bytes | |
const existingpdf = await fs.readFile('documentprocessing.pdf'); | |
// Load the PDF using pdf-lib | |
const pdfDoc = await PDFDocument.load(existingpdf); | |
// Call setMetadata() to change metadata of the loaded PDF document | |
setMetadata(pdfDoc) | |
.then(() => { | |
// Log success message if metadata is changed successfully | |
console.log('Metadata Changed Successfully'); | |
}) | |
.catch((error) => { | |
// Log an error message if an error occurs during metadata modification | |
console.error('Error: ', error); | |
}); |
Conclusie
JavaScript-ontwikkelaars kunnen metadata van PDF-documenten gemakkelijker lezen/extraheren en updaten met behulp van de pdf-lib-bibliotheek. De API is vrij netjes en biedt standaard set/get-functies om eigenschappen van PDF-documenten te lezen en updaten. Er zijn geen problemen waargenomen met betrekking tot metadatabeheer van PDF's tijdens ons gebruik.