PDFKit är ett Node.js-bibliotek som gör det enkelt för utvecklare att skapa och arbeta med PDF-filer. Det erbjuder ett enkelt men effektivt API för att producera PDF-filer och lägga till olika typer av innehåll till dem, såsom text, bilder och former.
Lär dig hur du använder PDF Kit för att skapa PDF-filer i Node.js.
Konfigurera PDFkit
Du måste ha Node.js och npm (pakethanteraren Node.js) installerade på din dator att följa med.
Se till att du har dessa verktyg installerade genom att köra följande terminalkommandon:
nod -v
npm -v
För att börja använda PDFKit i ditt Node.js-projekt, installera det genom att köra följande npm-kommando:
npm installera pdfkit
Detta kommando kommer att installera PDFKit och lägga till det i ditt projekts beroenden.
Skapa ett PDF-dokument med PDFKit
För att skapa ett PDF-dokument med PDFKit, kräver pdfkit paketet och fs (filsystem) modul i din skriptfil:
konst PDFDocument = behöva('pdfkit');
konst fs = behöva('fs');
Skapa sedan en ny instans av PDFDokument klass. Denna klass representerar en PDF-fil:
konst doc = ny PDFDocument();
Den skapade instansen är en läsbar ström, vilket innebär att du kan använda rör() metod för att spara dess innehåll till en fil.
För att göra detta, rör doc instans till en skrivbar ström skapad av fs.createWriteStream:
doc.pipe (fs.createWriteStream('MyPDFDoc.pdf'));
De skapaWriteStream metoden sparar innehållet i en PDF-fil till en angiven plats i det lokala filsystemet.
Ovanstående kodblock kommer att spara den resulterande PDF-filen till din nuvarande arbetskatalog, med namnet MyPDFDoc.pdf.
Det är viktigt att alltid avsluta streamen efter att ha lagt till innehåll i PDF: en. Du kan göra det med detta kommando:
doc.end();
Kör nu nodkommandot nod [skriptnamn] för att skapa PDF-filen MyPDFDoc.pdf i din nuvarande arbetskatalog.
Lägga till text med PDFKit
Innan du piper ditt dokument för att spara det kan du göra olika ändringar. PDFKit gör det enkelt att lägga till text i dokument och innehåller många alternativ för att anpassa visningen av utdata.
För att lägga till text i dokumentet, ring helt enkelt till text() metod och skicka texten som du vill lägga till som argument:
doc.text("Kodning är lätt!")
När PDFKIT lägger till text i dokumentet, håller den reda på den textens aktuella X- och Y-positioner. Så när du anropar textmetoden kommer PDFKit att lägga till en ny rad under den föregående.
Men genom att tillhandahålla X- och Y-koordinater till textmetoden efter själva texten kan du ändra dess position:
doc.text("Kodning är lätt!", 100, 100)
För att flytta uppåt eller nedåt på en rad, ring flytta ner eller flytta upp metod med antalet rader texten ska flytta:
doc.moveDown(3);
doc.moveUp();
Som standard kommer att anropa någon av metoderna utan att skicka ett argument att den flyttas med bara en enda rad.
PDFKit stöder vart och ett av de 14 standardteckensnitten som definieras av PDF-formatet. De PDFKit textdokumentation har en komplett lista över dessa standardteckensnitt.
Använd font() metod för att ange önskat teckensnitt. Ange bara motsvarande teckensnittsnamn som en sträng:
doc.font("Times-Roman")
.text("Kodning är lätt!");
Du kan också ändra teckenstorlek och textfärg med hjälp av textstorlek() och den fyllnadsfärg() metoder.
Till exempel:
// Detta ändrar textfärgen till röd och ger den en teckenstorlek på 8
doc.fillColor('röd')
.textstorlek(8)
.text("Kodning är lätt!");
Lägga till bilder med PDFKit
Till en bild till ditt PDF-dokument skickar du bara dess sökväg till bild metod på dokumentinstansen:
doc.image('path/to/image.jpeg')
PDFKit låter dig lägga till bilder i båda JPEG- eller PNG-format.
Som standard kommer PDFKit att infoga bilden i dess ursprungliga storlek. Du kan ändra en bilds dimensioner genom att tillhandahålla ett objekt som innehåller nyckel-värdepar som ett argument till bild() metod. Du kan ange en bredd, höjd och horisontell och vertikal justering.
Till exempel:
// Specificerar bara bredden
doc.image('sökväg/till/bild.jpg', { bredd: 300 });
// Anger både bredd och höjd
doc.image('sökväg/till/bild.jpg', { bredd: 300, höjd:200 })
Lägga till sidor med PDFKit
För att lägga till nya sidor i PDF-dokumentet, ring helt enkelt till addPage metod på dokumentinstansen:
doc.addPage()
För att automatiskt lägga till innehåll varje gång du lägger till en ny sida, använd sida tillagd händelse på dokumentinstansen.
Till exempel:
doc.on('pageAdded', () => doc.text("Kodning är lätt!"));
PDFKit låter dig ange sidmåtten när du skapar ett nytt dokument eller lägger till en ny sida till en befintlig. Det finns flera fördefinierade sidstorlekar som PDFKit pappersdokumentation förklarar.
För att använda någon av dessa fördefinierade sidstorlekar, skicka ett objekt till antingen PDFDokument konstruktör eller addPage() metod. Använd egenskapen storlek för att ange en sträng som är namnet på pappersstorleken.
Till exempel:
// konstruktör
konst doc = ny PDFDocument({ storlek: 'A5' });
// addPage-funktion
doc.addPage({ storlek: 'A7' });
Att skicka detta alternativobjekt till PDFDokument konstruktorn ställer in standardsidstorleken för hela dokumentet. Du kan sedan skriva över denna standard genom att skicka ett annat värde till addPage metod.
Du kan ställa in sidmarginaler genom att skicka ett objekt till marginaler egendom när du lägger till sidor.
De marginaler egenskap tar ett objekt med topp, botten, vänster, och höger egenskaper som representerar varje marginal.
Till exempel:
// Lägg till olika marginaler på varje sida
doc.addPage({
marginaler: {
topp: 72,
botten: 72,
vänster: 50,
höger: 50
}
});
Den här koden sätter topp- och bottenmarginalerna till 72 poäng och vänster- och högermarginalerna till 50 poäng. Observera att standardmarginalen för PDFKit-skapade dokument är en 1-tums (72-punkters) marginal på alla sidor.
För att ställa in alla topp-, botten-, vänster- och högermarginaler till samma värde, skicka bara ett objekt med a marginal egendom till addPage metod:
doc.addPage({ marginal: 60 }) // lägg till en marginal på 60 poäng på varje sida
Fördelarna med att skapa PDF-filer med PDFKit i Node.js
PDFKit gör att du kan producera standarddokument och dokument som stöds från dina Node.js-applikationer. Med PDFKit kan du enkelt hantera komplexa dokument. Dessutom kan det underlätta leveransen av dokument till användarna och göra dem enklare att dela och skriva ut.