Generowanie plików PDF w Golang (PDF)

Generowanie Plikow Pdf W Golang Pdf



Portable Document Format, w skrócie PDF, to niezwykle popularny i wszechstronny format plików używany w dokumentach. PDF jest obsługiwany na prawie wszystkich platformach i systemach, co czyni go doskonałym wyborem do udostępniania dokumentów.

Jeśli chodzi o programistów, możemy spotkać się z przypadkami, w których będziemy musieli programowo wygenerować dokumenty PDF na podstawie danych wejściowych. Można na przykład mieć aplikację internetową, która generuje faktury w formacie PDF na podstawie informacji o zakupach z bazy danych.

Na szczęście ekosystem Go jest ogromny i istnieją narzędzia i funkcje umożliwiające łatwe generowanie plików PDF bez konieczności budowania od zera.







W tym samouczku nauczymy się korzystać z pakietu „fpdf”, który zapewnia zaawansowane funkcje generowania dokumentów PDF na podstawie danych wejściowych.



Konfiguracja środowiska

Zanim przejdziemy dalej, upewnij się, że masz zainstalowane następujące narzędzia:



  1. Upewnij się, że masz zainstalowany najnowszy kompilator Go w swoim systemie
  2. Edytor kodu

Zainstaluj Gofpdfa

Po skonfigurowaniu projektu użyj polecenia „go get”, aby zainstalować pakiet „fpdf”.





$ Iść pobierz githuba . z / Iść - pdf / fpdf

Po zainstalowaniu możemy kontynuować i korzystać z funkcji oferowanych przez pakiet do generowania plików PDF.

Utwórz podstawowy dokument PDF

Rozważ następujący przykładowy kod, który demonstruje, jak używać tego pakietu do tworzenia podstawowego pliku PDF przy użyciu podstawowego tekstu wejściowego.



pakiet główny

import (
„github.com/go-pdf/fpdf”
)

funk główny () {
pdf := fpdf . Nowy ( 'P' , „mm” , „A4” , „” )
pdf . Dodaj stronę ()
pdf . Ustaw czcionkę ( „Arial” , 'B' , 16 )
pdf . Komórka ( 40 , 10 , „To ból dupy…” )
pdf . Plik wyjściowy i zamknij ( „lorem.pdf” )
}

W podanym przykładzie zaczynamy od zaimportowania potrzebnych nam pakietów. W naszym przypadku potrzebujemy jedynie pakietu „fpdf”.

Następnie tworzymy nowy dokument PDF za pomocą funkcji fpdf.New() i określamy właściwości pliku PDF, takie jak orientacja strony, jednostka miary i rozmiar.

Następnie dodajemy nową stronę za pomocą funkcji AddPage().

Następnie przystępujemy do ustawiania czcionki i rozmiaru dokumentu za pomocą funkcji SetFont(). Dodajemy także prostokątny obszar, zwany także komórką, z funkcją Cell() wyświetlającą tekst.

Na koniec generujemy plik PDF i zapisujemy go za pomocą metody OutputFileAndClose().

Dodaj obrazy

Możemy również dodać obsługę obrazów, jak pokazano w poniższym przykładowym kodzie:

pakiet główny

import (
„github.com/go-pdf/fpdf”
)

funk główny () {
pdf := fpdf . Nowy ( 'P' , „mm” , „A4” , „” )
pdf . Dodaj stronę ()
pdf . Opcje obrazu ( „linux-tux.png” , 10 , 10 , 40 , 0 , FAŁSZ , fpdf . Opcje obrazu { Typ obrazu : „PNG” , PrzeczytajDpi : PRAWDA }, 0 , „” )
błądzić := pdf . Plik wyjściowy i zamknij ( „przykład.pdf” )
Jeśli błądzić != zero {
panika ( błądzić )
}
}

Powinno to obejmować określony obraz w dokumencie.

Dokument wielostronicowy z nagłówkami i stopkami

Pakiet obsługuje także wiele stron, w tym funkcje takie jak nagłówki i stopki, jak pokazano w poniższym przykładzie:

pakiet główny

import (
„strconv” // Zaimportuj pakiet strconv

„github.com/go-pdf/fpdf”
)

funk nagłówek ( pdf * fpdf . Fpdf ) {
pdf . Ustaw czcionkę ( „Arial” , 'B' , 12 )
pdf . Komórka ( 0 , 10 , 'Nagłówek' )
pdf . Ln ( 20 )
}

funk stopka ( pdf * fpdf . Fpdf ) {
pdf . SetY ( - piętnaście )
pdf . Ustaw czcionkę ( „Arial” , 'I' , 8 )
pdf . Komórka ( 0 , 10 , „Strona” + strkonw . utonął ( pdf . Numer strony ()))
}

funk główny () {
pdf := fpdf . Nowy ( 'P' , „mm” , „A4” , „” )
pdf . Ustaw funkcję nagłówka ( funk () { nagłówek ( pdf ) })
pdf . UstawFunkcję Stopki ( funk () { stopka ( pdf ) })

pdf . Dodaj stronę ()
pdf . Ustaw czcionkę ( „Arial” , „” , 12 )
Do I := 0 ; I < 40 ; I ++ {
pdf . Komórka ( 0 , 10 , „Drukowanie numeru wiersza” + strkonw . utonął ( I ))
pdf . Ln ( 12 )
}

pdf . Plik wyjściowy i zamknij ( 'wielostronicowy.pdf' )
}

W tym przypadku definiujemy funkcje nagłówka i stopki, aby ustawić zawartość tych sekcji pliku PDF.

Następnie używamy funkcji SetHeaderFunc i SetFooterFunc do określenia funkcji jako nagłówka i stopki dokumentu.

Na koniec używamy pętli, aby utworzyć wiele linii tekstu, co skutkuje wieloma stronami. Wynikowy plik PDF wygląda następująco:

Masz to!

Wniosek

W tym samouczku dowiedzieliśmy się wiele o generowaniu plików PDF w Go przy użyciu pakietu „fpdf”. Ten pakiet zawiera wiele narzędzi i funkcji do generowania plików PDF. Sprawdź dokumentację, aby dowiedzieć się więcej.