PDF Δημιουργία & Επεξεργασία μέσω ανοικτού κώδικα JavaScript API

Βιβλιοθήκη JavaScript ανοιχτού κώδικα για δημιουργία και τροποποίηση αρχείων PDF, προσθήκη και αντιγραφή σελίδων και εισαγωγή εικόνων σε PDF μέσω JavaScript.

Το PDF-Lib είναι μια βιβλιοθήκη JavaScript ανοιχτού κώδικα που επιτρέπει στους επαγγελματίες λογισμικού να αναπτύσσουν ισχυρές εφαρμογές για εργασία με αρχεία PDF. Η βιβλιοθήκη είναι πολύ πλούσια σε χαρακτηριστικά και έχει σχεδιαστεί για να λειτουργεί σε οποιοδήποτε σύγχρονο χρόνο εκτέλεσης JavaScript. Περιλαμβάνει υποστήριξη για δημιουργία νέων αρχείων PDF, επεξεργασία υπαρχόντων εγγράφων PDF, δημιουργία φορμών, προσθήκη ή αφαίρεση σελίδων PDF, αντιγραφή σελίδων μεταξύ αρχείων PDF, σχεδίαση κειμένου και εικόνων, μέτρηση πλάτους και ύψους του κειμένου, διαχωρισμό και συγχώνευση εγγράφων, ανάγνωση και ορίστε μεταδεδομένα PDF, σχεδίαση διανυσματικών γραφικών και πολλά άλλα.

Η βιβλιοθήκη είναι γραμμένη στα Typescript και έχει συνταχθεί με καθαρό JavaScript χωρίς άλλες εξαρτήσεις. Ένας μεγάλος σκοπός της δημιουργίας της PDF-Λιβικής βιβλιοθήκης ήταν η αντιμετώπιση της έλλειψης ισχυρής υποστήριξης του οικοσυστήματος για PDF επεξεργασία ή τροποποίηση. Υπάρχουν διάφορες καλές JavaScript βιβλιοθήκες που υποστηρίζουν τη δημιουργία PDF αρχείων, αλλά πολύ λίγες περιελάμβαναν ισχυρή υποστήριξη για PDF τροποποιήσεις. Η PDF-Lib έχει συμπεριλάβει πλήρη υποστήριξη για PDF τροποποιήσεις καθώς και εργασία σε όλα τα JavaScript περιβάλλοντα (όχι μόνο Node ή Browser).

Previous Next

Ξεκινήστε με DF-Lib

Ο συνιστώμενος και ευκολότερος τρόπος για να ξεκινήσετε και να εγκαταστήσετε το DF-Lib είναι μέσω του αριθμού καθώς και στο yarn, παρακάτω είναι η εντολή.

Εγκαταστήστε το DF-Lib μέσω του αριθμού

 npm install --save pdf-lib 

Εγκατάσταση DF-Lib μέσω yarn

 yarn add pdf-lib 

PDF Δημιουργία και τροποποίηση μέσω JavaScript

Η βιβλιοθήκη PDF-Lib έχει συμπεριλάβει πλήρη λειτουργικότητα για τη δημιουργία εγγράφων, καθώς και την τροποποίηση. Οι προγραμματιστές λογισμικού μπορούν να δημιουργήσουν ένα νέο PDF έγγραφο από την αρχή με μόνο μερικές γραμμές JavaScript κώδικα μέσα στις δικές τους εφαρμογές. Μόλις δημιουργηθούν προγραμματιστές μπορούν να εισαγάγουν κείμενο, να σχεδιάσουν εικόνες ή διανυσματικά γραφικά, να ενσωματώσουν τις γραμματοσειρές τους, να αντιγράψουν και να ενσωματώσουν σελίδες από άλλα PDFs, να εφαρμόσουν μορφοποίηση και στυλ της επιλογής τους.

Πώς να δημιουργήσετε PDF έγγραφα μέσω 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()

Σελίδες αντιγραφής μεταξύ PDF εγγράφων μέσω της βιβλιοθήκης S

Είναι συχνά πολύ χρήσιμο να χρησιμοποιήσετε μια υπάρχουσα σελίδα αντί να δημιουργήσετε μια νέα σελίδα μέσα σε ένα έγγραφο PDF . Η βιβλιοθήκη PDF-Lib επιτρέπει στους προγραμματιστές να αντιγράφουν σελίδες από PDF έγγραφα και να τις προσθέτουν στα επιθυμητά PDF έγγραφα χωρίς εξωτερικές εξαρτήσεις. Πρώτα, πρέπει να φορτώσετε και τα δύο PDF αρχεία, μετά από αυτό, μπορείτε να χρησιμοποιήσετε την εντολή copyPages() για να αντιγράψετε τις επιθυμητές σελίδες και στη συνέχεια να χρησιμοποιήσετε την εντολή addPage() για να προσθέσετε τη σελίδα στην επιθυμητή θέση μέσα στα PDF έγγραφα.

Προσθήκη κειμένου σε υπάρχον PDF χρησιμοποιώντας 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 από PDF αρχεία

Η βιβλιοθήκη PDF βιβλιοθηκών υποστηρίζει πλήρως την πρόσβαση και την ανάγνωση μεταδεδομένων PDF εγγράφων. Το Metadata είναι ένα πολύ σημαντικό μέρος των PDF εγγράφων και έχει συμπεριλάβει πολύ σημαντικές πληροφορίες σχετικά με το PDF και το περιεχόμενό του, όπως τίτλο, αντικείμενο, συγγραφέας, πληροφορίες πνευματικών δικαιωμάτων, δημιουργός, ημερομηνία δημιουργίας ή τροποποίηση. Η χρήση λογισμικού βιβλιοθήκης PDF βιβλιοθηκών μπορεί εύκολα να αναλύσει και να εξαγάγει μεταδεδομένα από ένα PDF έγγραφο με μόλις δύο γραμμές JavaScript κώδικα.

Προσθήκη εικόνας σε PDF χρησιμοποιώντας 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()

Προσθήκη προσλήψεων σε PDF μέσω JavaScript API

Μερικές φορές πρέπει να παρέχουμε πιο λεπτομερείς πληροφορίες σχετικά με ένα αρχείο PDF, ώστε να μπορούμε να επισυνάψουμε ένα άλλο αρχείο σε αυτό το αρχείο. Τώρα το πλεονέκτημα αυτού του αρχείου θα είναι ότι το συνημμένο θα ταξιδέψει με το PDF εάν το μετακινήσετε σε διαφορετική θέση. Η βιβλιοθήκη ανοιχτού κώδικα PDF-Lib δίνει στους προγραμματιστές τη δυνατότητα να επισυνάψουν άλλα αρχεία στα PDF έγγραφά τους μέσα στις JavaScript εφαρμογές τους. Είναι δυνατόν να επισυνάψετε διάφορους τύπους αρχείων σε ένα PDF, όπως Microsoft Word, Excel, εικόνες, βίντεο ή ακόμη και άλλα PDFs.

Προσθήκη προσλήψεων σε PDF χρησιμοποιώντας 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()
 Ελληνικά