Attachments
Attachments
Bu sayfa, PDF içinde dosyaların gömülmesini ele alır. İki ayrı mekanizma vardır: belge düzeyinde ekler, bunlar herhangi bir sayfada görünür bir varlık olmadan gömülü dosyalardır ve sayfa köşeli dosya ekleme açıklamaları, belirli bir sayfada tıklanabilir bir simge yerleştirir.
Belge Düzeyinde Ekler
Document.AddAttachment() bytes‘i bir name altında gömer, belgeye gömülü dosya ad ağacına upsert eder — aynı adla tekrar eklemek mevcut girişi üzerine yazar. Bir Attachment tutamağı döndürür. Document.GetAttachments(), her belge düzeyindeki eki Attachment tutamaklarının bir dizisi olarak, ada göre sıralanmış şekilde döndürür ve Document.RemoveAttachment() adıyla bir tanesini kaldırır.
Attachment tutamağı, Name, Description, MimeType, Size, CreationDate ve ModDate öğelerini özellikler olarak ortaya koyar, GetBytes() gömülü dosyanın ham içeriğini okumak için, ve GetField() / SetField() / RemoveField() bireysel /Filespec alanlarına daha düşük seviyeli erişim için. AddAttachment()‘e geçirilen isteğe bağlı AttachmentOptions, mimeType, description, compress, creationDate ve modDate kabul eder.
Bu API için mevcut bilgi anlık görüntüsünde doğrulanmış bir kod örneği bulunmamaktadır — kesin yöntem ve özellik adları için aşağıdaki API Reference Özetine bakın.
Sayfa Köşeli Dosya Ekleri
Page.AddFileAttachment() bir dosyayı gömer ve belirli bir sayfada verilen rect konumunda bir /FileAttachment simge ek açıklaması yerleştirir, bir FileAttachmentAnnotation döndürür. Belge seviyesindeki bir ekten farklı olarak, bu ek görünür ve PDF görüntüleyicide tıklanabilir. FileAttachmentAnnotation, ortak ek açıklama özelliklerini (Rect, Color, Contents, Name, Flags, Print, Hidden, Opacity) kendi Icon ve FileName özellikleriyle birlikte paylaşır ve gömülü içeriği okumak için GetBytes(), simgesini statik sayfa içeriğine yerleştirmek için Flatten() destekler.
İpuçları ve En İyi Uygulamalar
- PDF ile birlikte taşınması gereken ancak herhangi bir sayfada görünmemesi gereken bir dosya için belge-seviyesinde ek (
Document.AddAttachment()) kullanın; dosyanın belirli bir konumda tıklanabilir bir simgeyle temsil edilmesi gerektiğindePage.AddFileAttachment()kullanın. Document.AddAttachment(), aynınamedeğerine sahip mevcut bir eki üzerine yazar — istemeden bir ekin değiştirilmesini önlemek istiyorsanız önceDocument.GetAttachments()kontrol edin.- Bir ekin içeriğini
GetBytes()ile her iki tutamaç tipinde okuyun — bu yöntem hemAttachmenthem deFileAttachmentAnnotationüzerinde mevcuttur.
Yaygın Sorunlar
| Sorun | Neden | Düzeltme |
|---|---|---|
| Yeni eklenen bir ek, mevcut bir ekin yerini aldı | Document.AddAttachment(), zaten kullanılan bir name ile çağrıldı | İsim çakışmasını kontrol etmek için önce Document.GetAttachments()‘ı çağırın |
| Ek, sayfada görünür bir simgeye sahip değil | Document.AddAttachment() kullanıldı, bu ise belge düzeyindedir ve tasarım gereği sayfa üzerinde bir varlığı yoktur | Görünür, sayfaya sabitlenmiş bir simge için Page.AddFileAttachment() kullanın |
Document.RemoveAttachment() false döndürür | Verilen name ile bir ek, ad ağacında bulunamadı | Kaldırmadan önce Document.GetAttachments() aracılığıyla tam adı doğrulayın |
FAQ
Document.AddAttachment ile Page.AddFileAttachment arasındaki fark nedir?
Document.AddAttachment() bir dosyayı belge seviyesinde gömerek herhangi bir sayfada görünür bir simge oluşturmaz. Page.AddFileAttachment() bir dosyayı gömer ve tek bir sayfada belirli bir konuma tıklanabilir bir /FileAttachment simge açıklaması yerleştirir.
Bir belgede zaten gömülü olan tüm ekleri nasıl listeleyebilirim?
Document.GetAttachments() metodunu çağırın; bu, belge seviyesindeki tüm ekleri adlarına göre sıralanmış Attachment tanıtıcıları içeren bir dizi olarak döndürür.
Bir ekin dosya içeriğini nasıl geri okuyabilirim?
Attachment (veya FileAttachmentAnnotation) tanıtıcısı üzerinde GetBytes() metodunu çağırın — her ikisinde de mevcuttur.
Bir eki kaldırabilir miyim?
Evet — Document.RemoveAttachment(name), belge seviyesindeki bir eki isimle kaldırır ve birinin bulunup kaldırılıp kaldırılmadığını döndürür.
API Reference Özeti
| Sınıf/Yöntem | Açıklama |
|---|---|
Document.AddAttachment() | Baytları adlandırılmış, belge düzeyinde bir ek olarak gömün |
Document.GetAttachments() | Belge düzeyindeki tüm ekleri listele |
Document.RemoveAttachment() | Belge düzeyindeki bir eki adıyla kaldır |
Attachment | Birden fazla gömülü dosyayı işleyin; Name, Description, MimeType, Size, GetBytes() |
Page.AddFileAttachment() | Bir dosyayı sayfaya sabitlenmiş, tıklanabilir simge açıklaması olarak göm |
FileAttachmentAnnotation | Sayfaya sabitlenmiş ekin açıklama tutamacı; Icon, FileName ekler |