Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

PDFKit er et Node.js-bibliotek, der gør det nemt for udviklere at oprette og arbejde med PDF-filer. Det tilbyder en ligetil, men effektiv API til at producere PDF'er og tilføje forskellige slags indhold til dem, såsom tekst, billeder og former.

Lær, hvordan du bruger PDF Kit til at oprette PDF'er i Node.js.

Opsætning af PDFkit

Du må have Node.js og npm (Node.js-pakkehåndteringen) installeret på din maskine at følge med.

Sørg for, at du har disse værktøjer installeret ved at køre følgende terminalkommandoer:

node -v
npm -v

For at begynde at bruge PDFKit i dit Node.js-projekt skal du installere det ved at køre følgende npm-kommando:

npm installere pdfkit

Denne kommando vil installere PDFKit og tilføje det til dit projekts afhængigheder.

Oprettelse af et PDF-dokument med PDFKit

For at oprette et PDF-dokument ved hjælp af PDFKit skal du kræve pdf-sæt pakken og fs (filsystem) modul i din scriptfil:

konst PDFDokument = kræve('pdfkit');
konst fs = kræve('fs');

Opret derefter en ny forekomst af PDF-dokument klasse. Denne klasse repræsenterer en PDF-fil:

konst doc = ny PDFDocument();

Den oprettede instans er en læsbar stream, hvilket betyder, at du kan bruge rør() metode til at gemme indholdet i en fil.

For at gøre dette skal du røre dok instans til en skrivbar strøm oprettet af fs.createWriteStream:

doc.pipe (fs.createWriteStream('MyPDFDoc.pdf'));

Det skabeWriteStream metoden gemmer indholdet af en PDF-fil til en specificeret placering på det lokale filsystem.

Ovenstående kodeblok gemmer den resulterende PDF-fil i din nuværende arbejdsmappe med navnet MyPDFDoc.pdf.

Det er vigtigt altid at afslutte streamen efter at have tilføjet indhold til PDF'en. Du kan gøre det ved at bruge denne kommando:

doc.end();

Kør nu node-kommandoen node [scriptnavn] for at oprette PDF-filen MyPDFDoc.pdf i din nuværende arbejdsmappe.

Tilføjelse af tekst med PDFKit

Før du overfører dit dokument for at gemme det, kan du foretage forskellige ændringer. PDFKit gør det nemt at tilføje tekst til dokumenter og indeholder mange muligheder for at tilpasse visningen af ​​output.

For at tilføje tekst til dokumentet skal du blot ringe til tekst() metode og send den tekst, du vil tilføje som argument:

doc.text("Kodning er let!")

Når PDFKIT tilføjer tekst til dokumentet, holder det styr på den teksts aktuelle X- og Y-positioner. Så hver gang du kalder tekstmetoden, tilføjer PDFKit en ny linje under den forrige.

Men ved at angive X- og Y-koordinater til tekstmetoden efter selve teksten, kan du ændre dens position:

doc.text('Kodning er nemt!', 100, 100)

For at flytte op eller ned på en linje, ring til Flyt ned eller flytte op metode med det antal linjer, teksten skal flytte:

doc.moveDown(3);

doc.moveUp();

Som standard vil kald af begge metoder uden at sende et argument få det til at flytte sig med kun en enkelt linje.

PDFKit understøtter hver af de 14 standardskrifttyper, der er defineret af PDF-formatet. Det PDFKit tekstdokumentation har en komplet liste over disse standardskrifttyper.

Brug skrifttype() metode til at angive den ønskede skrifttype. Indsæt blot det tilsvarende skrifttypenavn som en streng:

doc.font('Times-Roman')
.tekst('Kodning er nemt!');

Du kan også ændre skriftstørrelsen og tekstfarven ved hjælp af skriftstørrelse() og fillColor() metoder, hhv.

For eksempel:

// Dette ændrer tekstfarven til rød og giver den en skriftstørrelse på 8
doc.fillColor('rød')
.skriftstørrelse(8)
.tekst('Kodning er nemt!');

Tilføjelse af billeder med PDFKit

Til et billede til dit PDF-dokument skal du blot videregive dets sti til billede metode på dokumentforekomsten:

doc.image('sti/til/billede.jpeg')

PDFKit giver dig mulighed for at tilføje billeder i begge JPEG- eller PNG-format.

Som standard indsætter PDFKit billedet i dets oprindelige størrelse. Du kan ændre et billedes dimensioner ved at angive et objekt, der indeholder nøgleværdi-par som et argument til billede() metode. Du kan angive en bredde, højde og vandret og lodret justering.

For eksempel:

// Angivelse af bredden alene
doc.image('sti/til/billede.jpg', { bredde: 300 });

// Angivelse af både bredde og højde
doc.image('sti/til/billede.jpg', { bredde: 300, højde:200 })

Tilføjelse af sider med PDFKit

For at tilføje nye sider til PDF-dokumentet skal du blot ringe til addPage metode på dokumentforekomsten:

doc.addPage()

For automatisk at tilføje indhold, hver gang du tilføjer en ny side, skal du bruge sideTilføjet hændelse på dokumentforekomsten.

For eksempel:

doc.on('sideTilføjet', () => doc.text("Kodning er let!"));

PDFKit lader dig angive sidedimensionerne, når du laver et nyt dokument eller tilføjer en ny side til en eksisterende. Der er flere foruddefinerede sidestørrelser, som PDFKit papirdokumentation forklarer.

For at bruge nogen af ​​disse foruddefinerede sidestørrelser skal du sende et objekt til enten PDF-dokument konstruktør eller addPage() metode. Brug egenskaben størrelse til at angive en streng, som er navnet på papirstørrelsen.

For eksempel:

// konstruktør
konst doc = ny PDFDocument({ størrelse: 'A5' });

// addPage funktion
doc.addPage({ størrelse: 'A7' });

Sender dette indstillingsobjekt til PDF-dokument constructor indstiller standardsidestørrelsen for hele dokumentet. Du kan derefter overskrive denne standard ved at overføre en anden værdi til addPage metode.

Du kan indstille sidemargener ved at sende et objekt til marginer egenskab, når du tilføjer sider.

Det marginer ejendom tager en genstand med top, bund, venstre, og højre egenskaber, der repræsenterer hver margin.

For eksempel:

// Tilføj forskellige margener på hver side
doc.addPage({
marginer: {
top: 72,
bund: 72,
venstre: 50,
højre: 50
}
});

Denne kode indstiller top- og bundmargener til 72 point, og venstre og højre marginer til 50 point. Bemærk, at standardmargenen for PDFKit-oprettede dokumenter er en 1-tommers (72-punkts) margen på alle sider.

For at indstille alle top-, bund-, venstre- og højremargener til samme værdi skal du blot sende et objekt med en margen ejendom til addPage metode:

doc.addPage({ margen: 60 }) // tilføj en margen på 60 point til hver side

Fordelene ved at oprette PDF'er med PDFKit i Node.js

PDFKit giver dig mulighed for at producere standarddokumenter og understøttede dokumenter fra dine Node.js-applikationer. Med PDFKit kan du nemt håndtere komplekse dokumenter. Derudover kan det lette leveringen af ​​dokumenter til brugerne og gøre dem nemmere at dele og udskrive.