Εισαγωγή
Aspose.PDF FOSS for Go is a pure-Go library for working with PDF documents. It exposes an API για τη δημιουργία νέων PDF από το κενό, ανοίγοντας και επεξεργάζοντάς τα υπάρχοντα αρχεία, διαχωρίζοντας τα έγγραφα σε διαμέρισμα, συγχωνεύοντας πολλαπλά PDF και εφαρμόζοντας με βάση τον κωδικό πρόσβασης κρυπτογράφηση - όλα χωρίς καμία γηραιότητα C ή C++ εξαρτήσεις.
Η βιβλιοθήκη είναι διαθέσιμη ως ενότητα Go στο github.com/aspose-pdf-foss/aspose-pdf-foss-for-go και κυκλοφορεί υπό την άδεια του MIT. Εγκαταστήστε το με go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go Σε οποιαδήποτε Προς το παρόν, το έργο 1.24+.
Αυτό το άρθρο καλύπτει τις βασικές δυνατότητες: λειτουργίες εγγράφων, ασφάλεια, συμπλήρωση AcroForm, διάταξη πίνακα, σημειώσεις και αναφορές.
Βασικά Χαρακτηριστικά
Το έγγραφο χωρίζεται και διαχωρίζεται
Η Document Ο τύπος παρέχει Split() να χωρίσει ένα PDF σε κάθε σελίδα εγγράφων και Append() να συγχωνεύσει ένα εξωτερικό έγγραφο σε θέση. PageRange Αφήστε τον να εργαστεί με Ένα υποσυνταγμα σελίδων για επιλεκτική εξαγωγή ή εξόρυξη. Metadata ΕΚΔΗΛΩΣΕΙΣ Τα πεδία έγγραφα-πληροφορίες για την ανάγνωση και τη γραφή του συγγραφέα, τίτλου και ημερομηνίας δημιουργίας.
doc, _ := pdf.Open("report.pdf")
// Split into per-page PDFs
pages, _ := doc.Split()
for i, p := range pages {
p.Save(fmt.Sprintf("page%03d.pdf", i+1))
}
// Merge a second PDF into doc
doc2, _ := pdf.Open("appendix.pdf")
doc.Append(doc2)
doc.Save("combined.pdf")
Κρυπτογράφηση κωδικών και άδειες
EncryptionOptions διαμορφώνει τον κωδικό πρόσβασης του χρήστη, τον κώδικα πρόσβασής του και επιτρέπουν τις λειτουργίες σε Ένα μόνο κλήση για SetEncryption.Οι υποστήριξες αλγόριθμοι είναι AES-128 (το προεπιλεγμένο), AES-256 (ISO 32000-2, παράγει εκδοχή PDF 2.0), και RC4-128 για συμβατότητα κληρονομιάς. Permissions επιτρέπουν ή αρνούνται τις μεμονωμένες λειτουργίες — εκτύπωση, αντιγραφή, προσβασιμότητα— ανεξάρτητα . OpenWithPassword ανοίγει κρυπτογραφημένα αρχεία.; RemoveEncryption Σκηνές το κωδικό πρόσβασης πριν αποθηκεύσετε ένα αντίγραφο του παραρτήματος.
doc, _ := pdf.Open("contract.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
UserPassword: "userpass",
OwnerPassword: "ownerpass",
Permissions: &pdf.Permissions{AllowPrint: true, AllowCopy: false},
})
doc.Save("contract_protected.pdf")
Επεξεργασία πεδίου AcroForm
Form παρέχει πρόσβαση σε όλα τα πεδία AcroForm σε ένα έγγραφο. Field Είναι η βάση διασύνδεση. τύπος ισχυρισμοί παρέχουν πρόσβαση σε TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField,και ButtonField.Σημείωση: Set field τιμές ανά όνομα πεδίου — ο θεατής αναγεννάει αυτόματα τις εμφανίσεις μέσω /NeedAppearances=true και την Σωτηρία.
doc, _ := pdf.Open("application.pdf")
text := doc.Form().Field("full_name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
check := doc.Form().Field("agree_terms").(*pdf.CheckboxField)
check.SetChecked(true)
combo := doc.Form().Field("country").(*pdf.ComboBoxField)
combo.SetSelected(0)
doc.Save("application_filled.pdf")
Στάδιο Λάιντ
Table, Row,και Cell Δημιουργήστε δομημένες διατάξεις δικτύου σε σελίδες PDF. BorderInfo ρυθμίζει το στυλ σύνορα ανά κελί ή για ολόκληρο τον πίνακα. MarginInfo Συσκευή κυττάρων. TextStyle ελέγχει τη γραμματοσειρά, το μέγεθος, τον χρωματισμό και την ευθυγράμμιση μέσω HAlign και VAlign. Image Μπορεί να τοποθετηθεί μέσα σε κύτταρα δίπλα στο κείμενο.
doc, _ := pdf.Open("invoice_template.pdf")
tbl := pdf.NewTable()
tbl.SetColumnWidths([]float64{120, 80, 80})
row := tbl.AddRow()
row.AddCell("Item")
row.AddCell("Qty")
row.AddCell("Price")
page, _ := doc.Page(1)
page.AddTable(tbl, pdf.Rectangle{LLX: 72, LLY: 100, URX: 540, URY: 700})
doc.Save("invoice.pdf")
Βιβλίο και πλοήγηση
OutlineItemCollection Εμφανίζεται μια ενότητα εισόδου. χρησιμοποιήστε SetTitle, SetBold, SetColor,και SetDestination Για να το ρυθμίσετε. DestinationXYZ Στόχος για ακριβή Συντονισμός σελίδων.; DestinationFit Το θέμα είναι η σελίδα στο θεατή. NamedDestinations καταχωρίσει επαναχρησιμοποιήσιμους στόχους πηδού που είναι προσβάσιμος με όνομα.
doc, _ := pdf.Open("manual.pdf")
page, _ := doc.Page(1)
chapter := pdf.NewOutlineItemCollection(doc)
chapter.SetTitle("Chapter 1: Getting Started")
chapter.SetBold(true)
chapter.SetDestination(pdf.NewDestinationXYZ(page, 0, 800, 1.0))
doc.Outlines().Add(chapter)
section := pdf.NewOutlineItemCollection(doc)
section.SetTitle("Installation")
section.SetDestination(pdf.NewDestinationFit(page))
chapter.Add(section)
doc.Save("manual_with_bookmarks.pdf")
Ανακοινώσεις και Stamps
AnnotationCollection Κρατά όλες τις αναφορές σε μια σελίδα. TextAnnotation Προσθέτει ένα στίξι-νότιμο Το σχόλιο. StampAnnotation να τοποθετήσουν ένα έγκριση ή ενημερωτικό σήμα χρησιμοποιώντας μία από τις Προεπιλεγμένο StampName αξίες . HighlightAnnotation Ετικέτες περιοχές κειμένου. RedactAnnotation Διατηρεί μόνιμα ευαίσθητο περιεχόμενο. LinkAnnotation Εισαγωγή URI ή προορισμού σελίδας δράσεις για τις περιοχές που μπορούν να κλικ.
doc, _ := pdf.Open("draft.pdf")
page, _ := doc.Page(1)
stamp := pdf.NewStampAnnotation(page, pdf.Rectangle{LLX: 100, LLY: 700, URX: 250, URY: 750}, pdf.StampNameApproved)
page.Annotations().Add(stamp)
doc.Save("draft_approved.pdf")
Γρήγορη έναρξη
Εισάγετε το module:
go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-goΜικρό ροή εργασίας - ανοίξτε ένα PDF, κρυπτογραφήστε το με έναν κωδικό πρόσβασης και αποθηκεύστε:
package main
import (
"fmt"
pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go"
)
func main() {
doc, err := pdf.Open("input.pdf")
if err != nil {
panic(err)
}
doc.SetEncryption(pdf.EncryptionOptions{
UserPassword: "secret",
OwnerPassword: "ownerSecret",
Permissions: &pdf.Permissions{AllowPrint: true},
})
if err := doc.Save("output_encrypted.pdf"); err != nil {
panic(err)
}
fmt.Println("Saved output_encrypted.pdf")
}
Ανοικτή Πηγή και Άδεια Χρήσης
Aspose.PDF FOSS for Go is released under the MIT license. There are no usage restrictions, Δεν υπάρχουν χρεώσεις λειτουργίας, ούτε απαιτήσεις εγγραφής.Ο κώδικας πηγής είναι διαθέσιμος στο github.com/αποστροφή-pdf-foss/Αποκτροφή - pdf-for-go.
Επιτρέπεται η εμπορική χρήση σύμφωνα με τους όρους άδειας του MIT. Εάν το έργο σας απαιτεί υποστήριξη επιχειρηματικού επιπέδου, επέκταση της κάλυψης μορφής ή ενσωμάτωση στο cloud, η Aspose.PDF — Enterprise Product Family Είναι ξεχωριστό εμπορική προσφορά .