EmbedFileA
Belge özellikleri
Açıklama
Sondaki A, ANSI (char) DLL giriş noktasını belirtir; ActiveX/COM yüzeyi yalnızca Unicode biçimini sunar. Davranış EmbedFile ile aynıdır ve dize bağımsız değişkenleri geçerli SetAnsiMode kod sayfası kullanılarak yorumlanır
Harici bir dosyayı PDF içine gömer ve belge düzeyi eki olarak kaydeder. Acrobat ve diğer okuyucular belge düzeyi ekleri Attachments yan panelinde gösterir. Çağrı, AddEmbeddedFile ve ardından AddToFileList çağrısının kısaltmasıdır: dosya gömülü dosya akışı olarak saklanır ve ona başvuran girdi sağlanan başlık altında Catalog'un /Names /EmbeddedFiles ad ağacına eklenir
PDF sürümü davranışı: gömülü dosya akışları ve dosya belirtimi sözlükleri PDF 1.3 gerektirirken bu kolaylık çağrısının kullandığı belge düzeyi /Names /EmbeddedFiles ad ağacı PDF 1.4 gerektirir. Geçerli belge sürümü daha düşükse ve kaydetme sürümü kilitli değilse EmbedFile belgeyi otomatik olarak PDF 1.4'e yükseltir ve /EmbeddedFiles name tree öğesini AutoBumpedFeatures içinde kaydeder. Çağıran daha düşük bir kaydetme sürümünü kilitlerse uyumluluk kapısı kaydetmeyi LastErrorCode 602 ile reddeder
Sözdizimi
Delphi
Function DLEmbedFileA(InstanceID: Integer; Title, FileName, MIMEType: PAnsiChar): Integer;
DLL
int DLEmbedFileA(int InstanceID, const char * Title, const char * FileName, const char * MIMEType);
Parametreler
| Title | Okuyucunun ekler panelinde gösterilen ve /EmbeddedFiles ad ağacında anahtar olarak kullanılan görünen ad. Belge içinde benzersiz olmalıdır; bu başlığa sahip bir dosya zaten varsa çağrı başarısız olur |
|---|---|
| FileName | Kaynak dosyanın diskteki tam yolu. Bu dosyanın baytları PDF içine kopyalanır |
| MIMEType | Dosya içeriğini tanımlayan MIME türü (örneğin image/jpeg, text/csv, application/xml). MIME türü bilinmiyorsa boş bir dize geçirin; görüntüleyiciler dosya uzantısına geri döner |
Dönüş değerleri
| 0 | Dosya gömülemedi — kaynak dosya eksik, başlık zaten kullanılıyor veya açık belge yok |
|---|---|
| 1 | Dosya gömüldü ve belge ekleri ad ağacında listelendi |
Açıklamalar
Bu çağrı yalnızca belge düzeyinde bir ek oluşturur. Belirli bir sayfaya gömülü dosyayı işaret eden tıklanabilir bir ataş açıklaması çizmek için bunun yerine AddEmbeddedFile ve ardından AddFileAttachment (veya AddLinkToEmbeddedFile) kullanın
PDF/A uyumluluğu:
- PDF/A-1 ve PDF/A-2 (SetPDFAMode işlevinin 1–4 modları) rastgele gömülü dosyaları yasaklar. PDF/A koruması bu modlarda
EmbedFilekullanımını engeller - PDF/A-3 (5, 6 ve 7 modları), herhangi bir MIME türündeki gömülü dosyalara izin verir. ISO 19005-3 ayrıca her gömülü dosyanın belgeyle ilişkisini
AFRelationshipanahtarı üzerinden bildirmesini gerektirir — bunu SetEmbeddedFileAFRelationship ile açıkça ayarlayın
SetPDFUAMode etkinken kütüphane, açık bir ilişkisi olmayan her gömülü dosya için otomatik olarak AFRelationship=Unspecified yazar; ISO 14289-1 §7.11 gereksinimini karşılamak için bunu SetEmbeddedFileAFRelationship ile geçersiz kılın
Örnek
// Embed a CSV of the source data as a document attachment
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Sales summary, Q1 2026');
if PDF.EmbedFile('Source data — sales-Q1.csv', 'C:\reports\sales-Q1.csv', 'text/csv') = 1 then
WriteLn('Attachment added')
else
WriteLn('Failed to embed file');
PDF.SaveToFile('Q1-Summary.pdf');Ayrıca bkz
AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode