Sıkça Sorulan Sorular

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-go

Kaynak 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:

AlgorithmConstantStandard
AES-128EncryptionAlgAES128 ( Değişken olarak )ISO 32000-1
AES-256EncryptionAlgAES256ISO 32000-2 (PDF 2.0 çıkış)
RC4-128EncryptionAlgRC4_128Legacy

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())
    }
}
 Türkçe