Funkcje biblioteki PDF
Funkcje biblioteki PDF
Ta strona podsumowuje główne obszary funkcji w Aspose.PDF FOSS dla Go. Każda sekcja odsyła do dedykowanych stron przewodnika dewelopera z pełnymi przykładami kodu.
Zarządzanie dokumentami
Document jest centralnym typem. Obsługuje otwieranie (Open, OpenWithPassword), tworzenie (NewDocument), zapisywanie (Save) oraz operacje na kolekcjach stron (Split, Append, Extract, PageCount). SetMetadata i Metadata zapewniają dostęp odczyt/zapis do pól słownika Info.
doc, _ := pdf.Open("input.pdf")
pages, _ := doc.Split()
fmt.Printf("Split into %d pages\n", len(pages))Bezpieczeństwo i szyfrowanie
EncryptionOptions konfiguruje szyfrowanie oparte na haśle w jednym wywołaniu Document.SetEncryption. Obsługiwane algorytmy: AES-128 (domyślny), AES-256 (ISO 32000-2 / PDF 2.0) oraz RC4-128. Permissions kontroluje poszczególne operacje — drukowanie, kopiowanie, dostępność — niezależnie.
doc, _ := pdf.Open("doc.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
UserPassword: "user",
OwnerPassword: "owner",
Permissions: &pdf.Permissions{AllowPrint: true},
})
doc.Save("doc_secured.pdf")AcroForm Przetwarzanie
Document.Form zwraca *Form zapewniający dostęp do wszystkich pól. Asercje typu ujawniają konkretne typy pól: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField i ButtonField. Wartości pól są zapisywane; wyglądy są automatycznie odtwarzane przez przeglądarki PDF.
doc, _ := pdf.Open("form.pdf")
text := doc.Form().Field("name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
doc.Save("form_filled.pdf")Układ tabeli
Table, Row i Cell tworzą układy siatki umieszczane na stronach. BorderInfo ustawia style obramowań dla poszczególnych komórek lub całej tabeli. MarginInfo ustawia wypełnienie. TextStyle, Font, Color, HAlign i VAlign kontrolują prezentację tekstu.
Zakładki i nawigacja
OutlineItemCollection reprezentuje pojedynczą zakładkę. Skonfiguruj tytuł, styl pogrubienia/kursywy, kolor łącza oraz docelowy punkt (DestinationXYZ, DestinationFit, DestinationFitH). Zagnieżdżone zakładki tworzą hierarchię rozdziałów/sekcji. NamedDestinations udostępnia wielokrotnego użytku cele stron dostępne po nazwie.
Adnotacje
AnnotationCollection przechowuje wszystkie adnotacje na stronie. Dostępne typy obejmują TextAnnotation, FreeTextAnnotation, StampAnnotation, HighlightAnnotation, LinkAnnotation, RedactAnnotation, InkAnnotation, LineAnnotation, SquareAnnotation i CircleAnnotation.
Obsługa obrazów
Image reprezentuje osadzony zasób obrazu. ImageInfo udostępnia wymiary i przestrzeń kolorów. Obrazy mogą być dodawane do stron bezpośrednio lub osadzane w komórkach tabeli. OptimizeImageOptions zapewnia parametry kompresji w celu zmniejszenia rozmiaru pliku.
Renderowanie do obrazu
BmpDevice, PngDevice, JpegDevice, GifDevice i TiffDevice renderują poszczególne strony PDF do obrazów rastrowych. Każde urządzenie jest konstruowane z wartością Resolution i udostępnia metodę Render*, która zapisuje wynik do io.Writer. RenderOptions kontroluje parametry renderowania — rozdzielczość wyjściowa (DPI) i kolor tła.
doc, _ := pdf.Open("report.pdf")
page, _ := doc.Page(1)
dev := pdf.NewPngDevice(pdf.Resolution{DPI: 150})
f, _ := os.Create("page1.png")
defer f.Close()
dev.Process(page, f)Wyszukiwanie tekstu
SearchText przyjmuje ciąg zapytania i SearchOptions oraz zwraca wycinek wyników TextMatch. Każdy TextMatch udostępnia dopasowany tekst, jego ramkę ograniczającą na stronie oraz indeks strony, na której został znaleziony.
doc, _ := pdf.Open("report.pdf")
matches, _ := doc.SearchText("invoice", pdf.SearchOptions{CaseInsensitive: true})
for _, m := range matches {
fmt.Printf("Found %q on page %d\n", m.Text, m.PageNumber)
}Spłaszczanie formularzy
Document.Flatten konwertuje wszystkie interaktywne pola formularza na treść statyczną. Wartości pól są wbudowane w grafikę strony, a pola formularza są usuwane, co skutkuje plikiem PDF, którego nie można edytować.
doc, _ := pdf.Open("form_filled.pdf")
doc.Flatten()
doc.Save("form_flat.pdf")API Reference Podsumowanie
| Typ | Purpose |
|---|---|
Document | Główny kontener dokumentu — otwieranie, tworzenie, zapisywanie, dzielenie, łączenie |
Page | Dostęp do pojedynczej strony — rozmiar, adnotacje, zawartość |
Form | AcroForm kontener — enumeracja pól i dostęp |
Table | Element układu siatki |
EncryptionOptions | Konfiguracja hasła i algorytmu |
Permissions | Flagi kontroli dostępu dla każdej operacji |
OutlineItemCollection | Węzeł drzewa zakładek |
AnnotationCollection | Kontener adnotacji strony |
Metadata | Słownik informacyjny odczyt/zapis |
Image | Osadzony zasób obrazu |
BmpDevice | Renderuj stronę PDF do BMP |
PngDevice | Renderuj stronę PDF do PNG |
JpegDevice | Renderuj stronę PDF do formatu JPEG |
TiffDevice | Renderuj stronę PDF do formatu TIFF |
GifDevice | Renderuj stronę PDF do formatu GIF |
RenderOptions | Parametry renderowania — DPI i kolor tła |
SearchOptions | Konfiguracja wyszukiwania tekstu |
TextMatch | Pojedynczy wynik wyszukiwania tekstu z prostokątem ograniczającym |
LinearGradient | Wypełnienie gradientem liniowym dla kształtów wektorowych |
RadialGradient | Wypełnienie gradientem radialnym dla kształtów wektorowych |