Sıkça Sorulan Sorular
Açık Kaynak ve Lisans
Peki, bu ilanı beğen Eki 14 What is the license for Aspose.PDF FOSS for Go?
Aspose.PDF FOSS for Go is released under the Mİ lisansı.lisansın tam metni ise Depolama alanında yer almaktadır. github.com/aspose-pdf-foss/asspose - pdf-for-go için. Kayıt, etkinleştirme dosyası veya çalışma anahtarı gerektirmez.
Bir ticari ürün için kullanabilir miyim?
Evet. MIT lisansı sınırsız ticari kullanım, değiştirme, dağıtım ve özel kullanım sağlar. yazılımın tüm kopyalarında veya önemli parçalarında telif hakkı bildirimi ve MIT Lisans metni içermelisiniz.
Bir işletme versiyonu var mı?
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 İşletme desteği, geniş format kapsamı ve bulut entegrasyonu ile.
Kurulum ve Gereksinimler
Nasıl yüklü Aspose.PDF FOSS için Go?
Modülünizi Go Projesi’ne ekleyin:
go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-goKaynak dosyalarınızda bir alias ile ithal edin:
import pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go"Hangi versiyonu kullanmak gerekir?
1.24 veya daha sonra gitmek gerekir. versiyonunu kontrol edin ile go version.
Yerli veya sistem kütüphaneleri var mı?
FOSS for Go, C, c++ veya cgo bağımlılıkları olmayan saf bir uygulama. herhangi bir sistem kütüphanesi, PDF izleyicisi veya dış araç gerektirmez.
API Kullanımı
Mevcut bir PDF’yi nasıl açabilirim?
Kullanım pdf.Open PDF standartları ve pdf.OpenWithPassword Şifre korumalı dosyalar için:
doc, err := pdf.Open("document.pdf")
if err != nil {
panic(err)
}
fmt.Println(doc.PageCount())PDF’yi nasıl ayrı sayfalar halinde bölüyorum?
Document.Split geri döner a []*Document,Sayfaya göre 1 sayfa:
doc, _ := pdf.Open("report.pdf")
pages, _ := doc.Split()
for i, p := range pages {
p.Save(fmt.Sprintf("page_%03d.pdf", i+1))
}Birden fazla PDF’yi nasıl birleştiririm?
Document.Append Bir kaynak belgesini yerinde birleştirin:
base, _ := pdf.Open("part1.pdf")
part2, _ := pdf.Open("part2.pdf")
base.Append(part2)
base.Save("combined.pdf")AcroForm alanı nasıl doldurulur?
Kullanım Document.Form().Field(name) Konkret türü ile ilgili olarak:
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")Desteklenen alan türleri: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField, ButtonField.
Bookmark Nasıl Ekleyebilirim?
Bir oluşturun OutlineItemCollection ve A’yı 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")Güvenlik ve Şifreleme
Bir PDF’yi şifre korumak için nasıl yapılır?
Kullanım Document.SetEncryption Bir ile EncryptionOptions Şifre koruma ve izin bayrakları uygulamak için struct. dosyayı açmak için bir kullanıcı şifresi ve değiştirme hakları için sahip şifresi sağlar:
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")Hangi şifreleme algoritmaları desteklenir?
3 algoritma ile mevcuttur. EncryptionOptions.Algorithm:
| Algorithm | Constant | Standard |
|---|---|---|
| AES-128 | EncryptionAlgAES128 ( Değişken olarak ) | ISO 32000-1 |
| AES-256 | EncryptionAlgAES256 | ISO 32000-2 (PDF 2.0 çıkış) |
| RC4-128 | EncryptionAlgRC4_128 | Legacy |
Nasıl bir şifre korumalı dosyayı açabilirim?
Kullanım pdf.OpenWithPassword Dosya doğrulama gerektirir. kullanıcı şifresini ikinci argüman olarak geçin; normal bir dosyayı geri getirir *Document Bir kez deşifre başarılı olur:
doc, err := pdf.OpenWithPassword("protected.pdf", "userpass")
if err != nil {
panic(err)
}
fmt.Println(doc.PageCount())Bir PDF’den şifreleme nasıl kaldırılır?
Call Document.RemoveEncryption Dosyayı doğru şifre ile açtıktan sonra, sonuçları kaydedin ve şifrelenmemiş bir kopya yazın:
doc, _ := pdf.OpenWithPassword("protected.pdf", "userpass")
doc.RemoveEncryption()
doc.Save("decrypted.pdf")Rendering ve Metin
Bir PDF sayfasını bir resim için nasıl dönüştürüyorum?
Cihaz türlerinden birini kullanın: BmpDevice, PngDevice, JpegDevice, TiffDevice,veya GifDevice.• Bir cihazı A ile yapın. Resolution değer ve karşılık gelenin adı Render* Bir yöntemle bir io.Writer ve 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’de nasıl bir yazı arıyorum?
Call Document.SearchText Bir soru çubuğu ve SearchOptions.Sonuç bir Slayer için TextMatch değerler - her bir eşleşen metni, sayfa endeksini ve Sınır kutusu .
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)
}Bir şekil nasıl yapılır?
Call Document.Flatten Bir form doldurduktan veya inceledikten sonra. yöntem tüm alanı kaydırır sayfa grafiklerine değerler girer ve etkileşimli form alanlarını kaldırır:
doc, _ := pdf.Open("filled.pdf")
doc.Flatten()
doc.Save("flat.pdf")Bilinen Sınırlamalar
Tüm PDF özellikleri destekleniyor mu?
Kütüphane en yaygın belge yönetimi işlemleri kapsamaktadır: açmak, oluşturmak , kaydetmek , bölünmek, birleştirmek sayfa çıkarma, şifreleme, AcroForms, tablolar, kitap işaretleri, notlar, resim rendering, metin arama ve form flaş. Gelişmiş özellikler gibi dijital imzalar, 3D içerik ve PDF / A dönüşüm mevcut sürümde tam olarak uygulanamaz. README depolama alanı mevcut özellik durumu için kontrol edin.
Bir alan tipi iddiası kullanırsam ne olur?
Bir tür iddiası Field Bu, gerçek alan türüne uymuyor panik yapacak. Kullanım pdf.FieldType(f) Tipi doğrulamadan önce veya bir tip anahtarı kullanın:
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())
}
}