Συχνές ερωτήσεις

Συχνές ερωτήσεις

Αδειοδότηση και ανοικτή πηγή

Ποια είναι η άδεια για το Aspose.PDF FOSS for Go;?

Aspose.PDF FOSS for Go is released under the ΜΙΤ Αδειοδότηση.Το πλήρες κείμενο της άδειας είναι συμπεριλαμβάνεται στο αποθεματικό του στην github.com/αποστροφή-pdf-foss/Αποκτροφή - pdf-for-go. Δεν απαιτείται εγγραφή, ενεργοποίηση αρχείου ή κλειδί λειτουργίας.

Μπορώ να χρησιμοποιήσω το Aspose.PDF FOSS για την Go σε ένα εμπορικό προϊόν;?

Ναι. Η άδεια MIT επιτρέπει απεριόριστη εμπορική χρήση, τροποποίηση, διανομή και ιδιωτική χρήση. Πρέπει να συμπεριλάβετε την ειδοποίηση πνευματικών δικαιωμάτων και το κείμενο της άδειας MIT σε όλα τα αντίγραφα ή σημαντικά τμήματα του λογισμικού.

Υπάρχει επιχειρηματική έκδοση;?

Aspose.PDF FOSS is the open-source, MIT-licensed edition. A separate commercial Aspose.PDF product is available as the Aspose.PDF — Enterprise Product Family με επιχειρηματική υποστήριξη, εκτεταμένη κάλυψη μορφής και ενσωμάτωση στο cloud.


Εγκατάσταση και απαιτήσεις

Πώς μπορώ να εγκαταστήσω το Aspose.PDF FOSS για Go;?

Προσθήκη του module στο έργο σας:

go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go

Εισάγετε το με ένα alias στα αρχεία πηγής σας:

import pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go"

Ποια έκδοση χρειάζεται;?

1.24 ή αργότερα απαιτείται. ελέγξτε την έκδοση σας με το go version.

Υπάρχουν εγχώριες ή συστημικές βιβλιοθήκες εξαρτήσεις;?

Το Aspose.PDF FOSS for Go είναι μια υλοποίηση καθαρά με καμία εξάρτηση C, C++ ή CGo. Δεν απαιτεί βιβλιοθήκες συστήματος, αναθεωρητές PDF ή εξωτερικά εργαλεία.


Πυροβολισμοί

Πώς μπορώ να ανοίξω ένα υπάρχον PDF;?

Χρησιμοποιήστε pdf.Open για τα τυποποιημένα PDF και pdf.OpenWithPassword Για τα αρχεία που προστατεύονται από κωδικό πρόσβασης:

doc, err := pdf.Open("document.pdf")
if err != nil {
    panic(err)
}
fmt.Println(doc.PageCount())

Πώς μπορώ να χωρίσω ένα PDF σε μεμονωμένες σελίδες;?

Document.Split Επιστρέφει ο Α []*Document,1 ανά σελίδα:

doc, _ := pdf.Open("report.pdf")
pages, _ := doc.Split()
for i, p := range pages {
    p.Save(fmt.Sprintf("page_%03d.pdf", i+1))
}

Πώς μπορώ να συγχωνεύσω πολλαπλά PDF;?

Document.Append Συνδυάζει ένα αρχείο πηγής σε θέση:

base, _ := pdf.Open("part1.pdf")
part2, _ := pdf.Open("part2.pdf")
base.Append(part2)
base.Save("combined.pdf")

Πώς μπορώ να συμπληρώσω ένα πεδίο AcroForm;?

Χρησιμοποιήστε Document.Form().Field(name) Και αναφέρει το συγκεκριμένο είδος:

doc, _ := pdf.Open("form.pdf")
text := doc.Form().Field("customer_name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")

check := doc.Form().Field("agree").(*pdf.CheckboxField)
check.SetChecked(true)

doc.Save("form_filled.pdf")

Υποστηριζόμενοι τύποι πεδίων: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField, ButtonField.

Πώς μπορώ να προσθέσω βιβλιογραφίες;?

Δημιουργήστε ένα OutlineItemCollection και να βάλει ένα Destination:

doc, _ := pdf.Open("manual.pdf")
page, _ := doc.Page(1)

bm := pdf.NewOutlineItemCollection(doc)
bm.SetTitle("Chapter 1")
bm.SetDestination(pdf.NewDestinationXYZ(page, 0, 800, 1.0))
doc.Outlines().Add(bm)
doc.Save("manual_with_bookmarks.pdf")

Ασφάλεια και κρυπτογράφηση

Πώς μπορώ να προστατεύσω ένα PDF;?

Χρησιμοποιήστε Document.SetEncryption Με ένα EncryptionOptions παρέχει έναν κωδικό πρόσβασης για το άνοιγμα του αρχείου και έναν ιδιοκτήτη κωδικού πρόσβασής για τα δικαιώματα τροποποίησης:

doc, _ := pdf.Open("doc.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
    UserPassword:  "userpass",
    OwnerPassword: "ownerpass",
    Permissions:   &pdf.Permissions{AllowPrint: true, AllowCopy: false},
})
doc.Save("doc_protected.pdf")

Ποια αλγόριθμοι κρυπτογράφου υποστηρίζονται;?

Τρεις αλγόριθμοι είναι διαθέσιμες μέσω EncryptionOptions.Algorithm:

ΑλγόριθμοςΣυνεχώςΚανόνες
AES-128EncryptionAlgAES128 (από προεπιλογή )ISO 32000-1
AES-256EncryptionAlgAES256ISO 32000-2 (Εξέλιξη PDF 2.0)
RC4-128EncryptionAlgRC4_128κληρονομιά

Πώς μπορώ να ανοίξω ένα αρχείο με προστασία κωδικού πρόσβασης;?

Χρησιμοποιήστε pdf.OpenWithPassword όταν το αρχείο απαιτεί αυθεντικότητα. περάστε τον κωδικό πρόσβασης του χρήστη ως δεύτερο επιχείρημα· επιστρέφει ένα κανονικό *Document Όταν η αποκρυπτογράφηση επιτυγχάνει:

doc, err := pdf.OpenWithPassword("protected.pdf", "userpass")
if err != nil {
    panic(err)
}
fmt.Println(doc.PageCount())

Πώς μπορώ να αφαιρέσω την κρυπτογράφηση από ένα PDF;?

Κλήση Document.RemoveEncryption μετά το άνοιγμα του αρχείου με τον σωστό κωδικό πρόσβασης. Αποθηκεύστε το αποτέλεσμα για να γράψετε ένα μη κρυπτογραφημένο αντίγραφο:

doc, _ := pdf.OpenWithPassword("protected.pdf", "userpass")
doc.RemoveEncryption()
doc.Save("decrypted.pdf")

Ρεντερίνγκ και κείμενο

Πώς μπορώ να μετατρέψω μια σελίδα PDF σε μια εικόνα;?

Χρησιμοποιήστε έναν από τους τύπους συσκευών: BmpDevice, PngDevice, JpegDevice, TiffDeviceGifDevice.• Κατασκευάστε τη συσκευή με ένα Resolution Αξιολόγηση και καλέστε το αντίστοιχο Render* Μέθοδος με ένα io.Writer και RenderOptions:

doc, _ := pdf.Open("report.pdf")
page, _ := doc.Page(1)
f, _ := os.Create("page1.png")
defer f.Close()
page.RenderPNG(f, pdf.RenderOptions{DPI: 150})

Πώς μπορώ να αναζητήσω κείμενο σε PDF;?

Κλήση Document.SearchText Με μια γραμμή ερωτήσεων και SearchOptions.Το αποτέλεσμα είναι ένα Σιτ του TextMatch τιμές - κάθε μία φέρει το αντίστοιχο κείμενο, τον δικό της δείκτη σελίδας και την Σύνδεση του κουτιού.

doc, _ := pdf.Open("doc.pdf")
matches, _ := doc.SearchText("total", pdf.SearchOptions{CaseInsensitive: true})
for _, m := range matches {
    fmt.Printf("page %d: %q\n", m.PageNumber, m.Text)
}

Πώς μπορώ να βάλω μια μορφή;?

Κλήση Document.Flatten μετά την συμπλήρωση ή αναθεώρηση μιας φόρμας. η μέθοδος καλύπτει όλο το πεδίο εισάγετε τις τιμές στα γραφικά της σελίδας και αφαιρέστε τα διαδραστικά πεδία φόρμας:

doc, _ := pdf.Open("filled.pdf")
doc.Flatten()
doc.Save("flat.pdf")

Γνωστές Περιορισμοί

Όλα τα PDF λειτουργίες υποστηρίζονται;?

Η βιβλιοθήκη καλύπτει τις πιο κοινές λειτουργίες διαχείρισης εγγράφων: ανοίξτε, δημιουργήστε, αποθηκεύσετε, χωρίστε και συγχωνεύστε το κρυπτογράφημα σελίδων, τα AcroForms, οι πίνακες, σημειώσεις, αναρτήσεις εικόνας, η αναζήτηση κειμένου και η εκκίνηση μορφής. Προηγμένες δυνατότητες όπως ψηφιακές υπογραφές, περιεχόμενο 3D και μετατροπή PDF/A μπορεί να μην εφαρμόζονται πλήρως στην τρέχουσα έκδοση. Δείτε το ρεκόρ README για την τρέχουσα κατάσταση χαρακτηριστικών.

Τι συμβαίνει αν χρησιμοποιώ μια δήλωση τύπου πεδίου που δεν ταιριάζει;?

Ένα είδος ισχυρισμού για Field Αυτό δεν ταιριάζει με τον πραγματικό τύπο πεδίου θα πανικοβληθεί. Χρησιμοποιήστε pdf.FieldType(f) Για να ελέγξετε τον τύπο πριν από την υποβολή, ή χρησιμοποιήστε ένα μετατροπέα τύπου:

doc, _ := pdf.Open("form.pdf")
for _, f := range doc.Form().Fields() {
    switch v := f.(type) {
    case *pdf.TextBoxField:
        fmt.Println("text:", v.Value())
    case *pdf.CheckboxField:
        fmt.Println("checked:", v.Checked())
    }
}
 Ελληνικά