PDF:n luominen ja muokkaaminen avoimen lähdekoodin JavaScript-sovellusliittymän kautta
Avoimen lähdekoodin JavaScript-kirjasto PDF-tiedostojen luomiseen ja muokkaamiseen, sivujen lisäämiseen ja kopioimiseen sekä kuvien lisäämiseen PDF-tiedostoon JavaScriptin kautta.
PDF-Lib on avoimen lähdekoodin JavaScript-kirjasto, jonka avulla ohjelmistoalan ammattilaiset voivat kehittää tehokkaita sovelluksia PDF-tiedostojen käsittelyyn. Kirjasto on erittäin monipuolinen ja suunniteltu toimimaan missä tahansa nykyaikaisessa JavaScript-ajotilassa. Se on sisältänyt tuen uusien PDF-tiedostojen luomiseen, olemassa olevien PDF-dokumenttien muokkaamiseen, lomakkeiden luomiseen, PDF-sivujen lisäämiseen tai poistamiseen, sivujen kopioimiseen PDF-tiedostojen välillä, tekstin ja kuvien piirtämiseen, tekstin leveyden ja korkeuden mittaamiseen, asiakirjojen jakamiseen ja yhdistämiseen, lukemiseen ja yhdistämiseen. aseta PDF-metatiedot, Draw Vector Graphics ja paljon muuta.
Kirjasto on kirjoitettu Typescriptillä ja käännetty puhtaaseen JavaScriptiin ilman muita riippuvuuksia. Yksi PDF-Lib-kirjaston luomisen suuri tarkoitus oli korjata JavaScript-ekosysteemin vankka tuki PDF-muokkaukselle tai -muokkaukselle. On olemassa useita hyviä JavaScript-kirjastoja, jotka tukevat PDF-tiedostojen luomista, mutta hyvin harvat sisältävät vahvan tuen PDF-muokkaukselle. PDF-Lib sisältää täydellisen tuen PDF-muokkaukselle sekä työskentelyn kaikissa JavaScript-ympäristöissä (ei vain Nodessa tai selaimessa).
PDF-Libin käytön aloittaminen
Suositeltu ja helpoin tapa aloittaa ja asentaa PDF-Lib on npm sekä langalla, alla on komento.
asenna PDF-Lib npm:n kautta
npm install --save pdf-lib
asenna PDF-Lib langan kautta
yarn add pdf-lib
PDF-dokumenttien luominen ja muokkaaminen JavaScriptin kautta
Avoimen lähdekoodin PDF-Lib-kirjasto sisältää täydelliset toiminnot PDF-dokumenttien luomiseen ja muokkaamiseen. Ohjelmistokehittäjät voivat luoda uuden PDF-dokumentin alusta alkaen vain muutamalla rivillä JavaScript-koodia omissa sovelluksissaan. Luotuaan kehittäjät voivat lisätä tekstiä, piirtää kuvia tai vektorigrafiikkaa, upottaa fonttejaan, kopioida ja upottaa sivuja muista PDF-tiedostoista, käyttää valitsemiaan muotoiluja ja tyylejä ja paljon muuta.
Kuinka luoda PDF-dokumentteja JavaScriptin avulla
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()
Kopioi sivuja PDF-dokumenttien välillä JS-kirjaston kautta
Usein on erittäin hyödyllistä käyttää olemassa olevaa sivua uuden sivun luomisen sijaan PDF-dokumentin sisällä. Avoimen lähdekoodin PDF-Lib-kirjaston avulla tietokoneohjelmoijat voivat kopioida sivuja erilaisista PDF-dokumenteista ja lisätä ne haluamiinsa PDF-dokumentteihin ilman ulkoisia riippuvuuksia. Ensin sinun on ladattava molemmat PDF-tiedostot, sen jälkeen voit kopioida haluamasi sivut copyPages()-komennolla ja sitten lisätä sivu haluttuun paikkaan PDF-dokumenttien sisällä addPage()-komennolla.
Lisää tekstiä olemassa olevaan PDF-tiedostoon JavaScriptin avulla
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()
Jäsennä ja lue metatiedot PDF-tiedostoista
PDF-Lib-kirjasto tukee täysin PDF-dokumenttien metatietojen käyttöä ja lukemista. Metadata on erittäin tärkeä osa PDF-dokumentteja, ja se on sisältänyt erittäin tärkeitä tietoja PDF-tiedostosta ja sen sisällöstä, kuten otsikko, aihe, tekijä, tekijänoikeustiedot, tekijä, luonti- tai muokkauspäivä ja niin edelleen. PDF-Lib-kirjaston ohjelmistokehittäjät voivat helposti jäsentää ja poimia metatietoja PDF-dokumentista vain parilla JavaScript-koodirivillä.
Lisää kuva PDF-tiedostoon JavaScriptin avulla
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()
Lisää liitteitä PDF-tiedostoon JavaScript API:n kautta
Joskus meidän on annettava tarkempia tietoja PDF-tiedostosta, jotta voimme liittää siihen toisen tiedoston. Nyt kyseisen tiedoston etuna on, että liite kulkee PDF-tiedoston mukana, jos siirrät sen toiseen paikkaan. Avoimen lähdekoodin PDF-Lib-kirjasto antaa ohjelmistokehittäjille mahdollisuuden liittää muita tiedostoja PDF-dokumentteihinsa JavaScript-sovellustensa sisällä. PDF-tiedostoon on mahdollista liittää erilaisia tiedostoja, kuten Microsoft Word, Excel, kuvia, videoita tai jopa muita PDF-tiedostoja.
Lisää liitteitä PDF-tiedostoon JavaScriptin avulla
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()