1. Produktai
  2.   PDF
  3.   JavaScript
  4.   PDF-Lib
 
  

PDF kūrimas ir redagavimas naudojant atvirojo kodo JavaScript API

Atvirojo kodo „JavaScript“ biblioteka, skirta PDF failams kurti ir modifikuoti, pridėti ir kopijuoti puslapius bei įterpti vaizdus į PDF naudodami „JavaScript“.

PDF-Lib yra atvirojo kodo „JavaScript“ biblioteka, leidžianti programinės įrangos profesionalams kurti galingas programas darbui su PDF failais. Bibliotekoje yra labai daug funkcijų ir ji sukurta veikti bet kuriuo šiuolaikiniu „JavaScript“ vykdymo laiku. Ji apima naujų PDF failų kūrimo, esamų PDF dokumentų redagavimo, formų kūrimo, PDF puslapių pridėjimo arba pašalinimo, puslapių kopijavimo tarp PDF failų, teksto ir vaizdų piešimo, teksto pločio ir aukščio matavimo, dokumentų skaidymo ir sujungimo, skaitymo ir sujungimo palaikymą. nustatyti PDF metaduomenis, piešti vektorinę grafiką ir daug daugiau.

Biblioteka parašyta „Typescript“ ir sudaryta naudojant gryną „JavaScript“ be jokių kitų priklausomybių. Vienas puikus PDF-Lib bibliotekos sukūrimo tikslas buvo išspręsti JavaScript ekosistemos tvirto PDF redagavimo ar modifikavimo palaikymo trūkumą. Yra įvairių gerų „JavaScript“ bibliotekų, palaikančių PDF failų kūrimą, tačiau labai nedaugelis jų stipriai palaiko PDF modifikavimą. „PDF-Lib“ apima visišką PDF modifikavimo palaikymą, taip pat darbą visose „JavaScript“ aplinkose (ne tik „Node“ ar „Browser“).

Previous Next

Darbo su PDF-Lib pradžia

Rekomenduojamas ir lengviausias būdas pradėti ir įdiegti PDF-Lib yra per npm, taip pat per yarn, žemiau yra komanda.

įdiekite PDF-Lib per npm

 npm install --save pdf-lib 

įdiekite PDF-Lib per verpalus

 yarn add pdf-lib 

PDF dokumentų kūrimas ir keitimas naudojant JavaScript

Atvirojo kodo PDF-Lib biblioteka apima visas PDF dokumentų kūrimo ir modifikavimo funkcijas. Programinės įrangos kūrėjai gali sukurti naują PDF dokumentą nuo nulio, naudodami tik kelias JavaScript kodo eilutes savo programose. Sukūrę kūrėjai gali įterpti tekstą, piešti vaizdus ar vektorinę grafiką, įterpti savo šriftus, kopijuoti ir įterpti puslapius iš kitų PDF failų, pritaikyti savo pasirinktą formatavimą ir stilius ir dar daugiau.

Kaip sukurti PDF dokumentus naudojant 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()

Kopijuokite puslapius tarp PDF dokumentų per JS biblioteką

Dažnai labai naudinga naudoti esamą puslapį, o ne kurti naują puslapį PDF dokumente. Atvirojo kodo PDF-Lib biblioteka leidžia kompiuterių programuotojams kopijuoti puslapius iš įvairių PDF dokumentų ir pridėti juos prie norimų PDF dokumentų be jokių išorinių priklausomybių. Pirmiausia turite įkelti abu PDF failus, po to galite naudoti komandą copyPages() norėdami nukopijuoti norimus puslapius, o tada naudodami komandą addPage() pridėti puslapį norimoje PDF dokumentų vietoje.

Pridėkite tekstą prie esamo PDF naudodami „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()

Išanalizuoti ir skaityti metaduomenis iš PDF failų

PDF-Lib biblioteka visiškai palaiko PDF dokumentų metaduomenų prieigą ir skaitymą. Metaduomenys yra labai svarbi PDF dokumentų dalis ir apima labai svarbią informaciją apie PDF ir jo turinį, pvz., pavadinimą, temą, autorių, informaciją apie autorių teises, kūrėją, sukūrimo ar modifikavimo datą ir pan. Naudodami PDF-Lib bibliotekos programinės įrangos kūrėjai gali lengvai išanalizuoti ir išgauti metaduomenis iš PDF dokumento naudodami tik kelias JavaScript kodo eilutes.

Pridėkite vaizdą į PDF naudodami 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()

Pridėkite priedus prie PDF naudodami JavaScript API

Kartais turime pateikti išsamesnės informacijos apie PDF failą, kad galėtume prie to failo pridėti kitą failą. Dabar to failo pranašumas bus tas, kad priedas bus keliamas kartu su PDF, jei jį perkelsite į kitą vietą. Atvirojo kodo PDF-Lib biblioteka suteikia programinės įrangos kūrėjams galimybę pridėti kitus failus prie PDF dokumentų savo JavaScript programose. Prie PDF galima pridėti įvairių tipų failus, tokius kaip Microsoft Word, Excel, paveikslėlius, vaizdo įrašus ar net kitus PDF failus.

Pridėkite priedus prie PDF naudodami „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()
 Lietuvių