01Konum
- trailer /Info → document information dictionary
- Catalog /Metadata → stream (/Type /Metadata /Subtype /XML) holding an XMP packet
- Earlier XMP packets left by incremental updates later in the file
02Yanıtladığı sorular
- Özgün belgeyi hangi uygulama oluşturdu, PDF'i hangisi üretti?
- PDF ne zaman oluşturuldu, en son ne zaman değiştirildi ve üst verisi en son ne zaman değişti?
- Bu dosya önceki bir belgenin yeni bir örneği mi (aynı DocumentID, farklı InstanceID)?
- Info ve XMP değerleri birbiriyle uyumlu mu?
03Biçim ve sürümler
| Biçim | Info girdileri PDF metin dizeleridir; tarihler isteğe bağlı +HH'mm gibi bir farkla 'D:YYYYMMDDHHmmSS' biçimini kullanır (ISO 32000-1 §7.9.4). XMP, meta veri akışı içinde UTF-8 kodlu RDF/XML'dir (PDF 1.4+). |
|---|---|
| Geçerli olduğu sürümler | Info sözlüğü tüm PDF sürümlerinde; XMP üst veri akışları PDF 1.4'ten itibaren. Eşleme Adobe XMP Belirtimi Bölüm 3'e göredir. |
04Temel alanlar
| Alan | Ne anlatır |
|---|---|
| Info: Title, Author, Subject, Keywords | XMP'de dc:title, dc:creator, dc:description ve pdf:Keywords'e karşılık gelir. |
| Info: Creator ↔ xmp:CreatorTool | Özgün içeriği oluşturan uygulama. |
| Info: Producer ↔ pdf:Producer | PDF'i üreten yazılım. |
| Info: Trapped ↔ pdf:Trapped | Trapping durum bayrağı. |
| xmpMM:DocumentID | Bir kaynağın tüm sürümleri ve görüntülemeleri için ortak kimlik. |
| xmpMM:InstanceID | Belirli bir örneğin kimliği; dosya her kaydedildiğinde güncellenir. |
| xmpMM:OriginalDocumentID, xmpMM:DerivedFrom, xmpMM:History | Kaynak belgeye bağlantılar ve bu belgeyi üreten üst düzey eylemlerin listesi. |
05Zaman damgaları
| Alan | Kodlama | Not |
|---|---|---|
| Info CreationDate, ModDate | PDF date string 'D:YYYYMMDDHHmmSS±HH'mm' | Yalnızca yıl zorunludur; Chromium ayrıştırıcısı fark verilmediğinde UTC varsayar. |
| xmp:CreateDate, xmp:ModifyDate | ISO 8601 subset (YYYY-MM-DDThh:mm:ss.sTZD) | Saat dilimi belirtecinin olmaması bölgenin bilinmediği anlamına gelir; varsayılmamalıdır. |
| xmp:MetadataDate | ISO 8601 subset | Üst verinin en son değiştiği an; xmp:ModifyDate ile aynı veya ondan sonra olmalıdır. |
Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.
06İnceleme akışı
- Dosyanın özetini alın ve artımlı güncellemelerden gelenler dahil tüm XMP paketlerini ve Info sözlüklerini bulun.
- Info tarihlerini farklarıyla, XMP tarihlerini belirteçleriyle çözün; bölgesi olmayan değerleri not edin.
- Info ve XMP çiftlerini karşılaştırın (CreationDate/xmp:CreateDate, ModDate/xmp:ModifyDate, Creator/xmp:CreatorTool, Producer/pdf:Producer).
- Dosyayı diğer kopyalar veya sürümlerle ilişkilendirmek için DocumentID ve InstanceID'yi kullanın.
07Yorum tuzakları
- XMP'yi tanımayan bir yazılım Info'yu düzenlediğinde Info ve XMP uyumsuz hâle gelebilir; Acrobat bunu ModDate ile xmp:MetadataDate'i karşılaştırarak çözer.
- Artımlı kayıtlar eski paketleri silmeden yenilerini ekler; basit bir arama eski bir paketi okuyabilir.
- xmp:ModifyDate genellikle dosya kaydedilmeden önce ayarlanır ve dosya sistemi değiştirme zamanıyla eşleşmesi gerekmez.
- Bu değerlerin tamamı herhangi bir PDF aracıyla yazılabilir ve belgenin özgünlüğünü doğrulamaz.
09Kaynaklar
- XMP Specification Part 1 — Data model, serialization and core properties Adobe (XMP-Toolkit-SDK, GitHub) · erişim 2026-10-14
- XMP Specification Part 2 — Additional properties Adobe (XMP-Toolkit-SDK, GitHub) · erişim 2026-10-14
- XMP Specification Part 3 — Storage in files Adobe (XMP-Toolkit-SDK, GitHub) · erişim 2026-10-14
- pdf.js — src/core/document.js (documentInfo) Mozilla (GitHub) · erişim 2026-10-14
- pdf.js — src/core/catalog.js (Metadata) Mozilla (GitHub) · erişim 2026-10-14
- Chromium source — pdf/pdf_utils/dates.cc (ISO 32000-1 §7.9.4 date parsing) The Chromium Authors (GitHub mirror) · erişim 2026-10-14
- ISO 32000-1:2008 — Document management — Portable document format (Adobe-hosted copy) Adobe / ISO