Funkcje biblioteki PDF

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

TypPurpose
DocumentGłówny kontener dokumentu — otwieranie, tworzenie, zapisywanie, dzielenie, łączenie
PageDostęp do pojedynczej strony — rozmiar, adnotacje, zawartość
FormAcroForm kontener — enumeracja pól i dostęp
TableElement układu siatki
EncryptionOptionsKonfiguracja hasła i algorytmu
PermissionsFlagi kontroli dostępu dla każdej operacji
OutlineItemCollectionWęzeł drzewa zakładek
AnnotationCollectionKontener adnotacji strony
MetadataSłownik informacyjny odczyt/zapis
ImageOsadzony zasób obrazu
BmpDeviceRenderuj stronę PDF do BMP
PngDeviceRenderuj stronę PDF do PNG
JpegDeviceRenderuj stronę PDF do formatu JPEG
TiffDeviceRenderuj stronę PDF do formatu TIFF
GifDeviceRenderuj stronę PDF do formatu GIF
RenderOptionsParametry renderowania — DPI i kolor tła
SearchOptionsKonfiguracja wyszukiwania tekstu
TextMatchPojedynczy wynik wyszukiwania tekstu z prostokątem ograniczającym
LinearGradientWypełnienie gradientem liniowym dla kształtów wektorowych
RadialGradientWypełnienie gradientem radialnym dla kształtów wektorowych

Zobacz także

 Polski