Rehber · UYAP belge formatı
UDF nedir, nasıl açılır?
UDF, UYAP'ta dilekçe ve evrak için kullanılan belge formatıdır. Meslektaşların çoğu onu “açılmayan dosya” diye tanır; oysa içinde standart bir kap ve tek bir XML vardır. Aşağıdaki künye, Lexapel'in kendi UDF okuyucu/yazıcısından — yani çalışan koddan — çıkarıldı.
UDF gerçekte hangi format?
UDF bir kelime işlemci biçimi değil, bir kaptır. Dosya, Deflate sıkıştırmalı bir ZIP arşividir ve bu arşivin içinde tek bir giriş bulunur: content.xml. Belgenin metni de, biçimlendirmesi de o tek XML'in içindedir.
Pratik sonucu şudur: bir UDF'nin ilk baytları bir DOCX ile aynıdır (PK\x03\x04), çünkü ikisi de ZIP kabıdır. Lexapel içe aktarmada bu yüzden uzantıya güvenmez; dosyanın gerçekten ZIP olup olmadığını baytlarından doğrular ve uyuşmayanı sessizce almak yerine gerekçesiyle atlar.
UDF'yi bozuk bir PDF sanmak yaygın bir yanılgıdır. PDF değildir, Word belgesi değildir; kendi şeması olan bir XML'in ZIP'lenmiş hâlidir.
Dosyanın içinde ne var
Aşağıdaki künye, ürünün UDF yazıcısının ürettiği ve okuyucusunun beklediği yapıdır. Alan adları tahmin değildir; codec bu adlarla çalışır.
| Kap | Deflate sıkıştırmalı ZIP; tek giriş: content.xml |
|---|---|
| Kök öğe | <template format_id="1.8"> — yazıcı bu sürümü üretir, okuyucu değeri belgeden okur |
| Metin | <content><![CDATA[ … ]]></content> — belgenin tüm metni tek CDATA bloğunda, paragraflar satır sonuyla ayrılmış |
| Biçimlendirme | <elements resolver="hvl-default"> altında paragraf başına bir <paragraph> ve içinde startOffset + length taşıyan bir koşu |
| Hizalama kodları | 0 = sola, 1 = ortaya, 2 = sağa, 3 = iki yana yaslı |
| Sayfa biçimi | <properties><pageFormat …> — kenar boşlukları, yönlendirme, üst/alt bilgi kaydırması |
| Stil | <styles><style name="default" …> — tek varsayılan stil (yazı tipi ailesi + boyut) |
| Görseller | Metin akışında U+FFFC (nesne yer tutucu) karakteriyle temsil edilir; okuma sırasında temizlenir |
Metin ile biçimin ayrı durması
UDF'nin en çok yanlış anlaşılan yanı budur: metin ve biçimlendirme aynı yerde durmaz. Metin tek parça hâlinde CDATA bloğunda yaşar; hangi bölümün nasıl hizalanacağı ise ayrı bir listede, karakter aralıklarıyla (startOffset + length) tarif edilir. Yani biçimlendirme metnin içine gömülü etiketler değil, metnin üzerine düşen bir haritadır.
Bu modelin bir bedeli var: harita ile metnin uzunluğu birbirini tutmak zorundadır. Paragraflar arasındaki satır sonu karakterleri offset sayımında atlanır, bu yüzden ürünün yazıcısı her dosyayı üretmeden önce şu değişmezi kontrol eder — tüm paragraf uzunluklarının toplamı + (paragraf sayısı − 1) = metnin uzunluğu. Tutmuyorsa dosya hiç üretilmez ve hata verilir. Sessizce kayan offsetli bir UDF, editörde biçimi yanlış çözer.
Metinde ]]> dizisi geçerse CDATA bloğu erken kapanır ve dosya bozulur. Bu, gerçek dilekçelerde alıntı içinde başa gelebilen bir durumdur; ürünün yazıcısı diziyi bölerek kaçırır ve bu davranış birim testiyle sabitlenmiştir.
Bir UDF nasıl açılır?
Belgeyi olduğu gibi görüntülemekiçin doğru yol UYAP'ın kendi doküman editörüdür: sayfa biçimi, hizalama ve stiller orada çözülür. Aşağıdakiler bunun yerine geçmez; metne ulaşmanın yollarıdır.
- Kabı açarak: dosyanın bir kopyasını
.zipolarak yeniden adlandırıp açtığınızda içindencontent.xmlçıkar; metin, CDATA bloğunun içinde düz hâlde durur. Biçimlendirme haritası elinizde ayrı kalır — bu bir kurtarma yoludur, belgeyi yeniden üretmez. - Lexapel'e yükleyerek:
.udfuzantılı dosya doğrudan kabul edilir. Ürün metni çıkarır, parçalara ayırır ve dosyanızdaki diğer belgelerle birlikte aranabilir hâle getirir. - Arşivden toplu olarak:UYAP'tan indirilen dışa aktarım arşivindeki UDF'ler tek tek seçilmeden, arşivin tamamı üzerinden içe aktarılabilir. Bunun ayrıntısı UYAP'tan dosya indirme rehberinde.
Lexapel bu formatla ne yapar
Ürünün UDF codec'i iki yönlüdür: gelen belgeyi okur, giden dilekçeyi yazar. İkisinin kapsamı aynı değildir — aşağıda ayrı ayrı yazılı.
Bugün yapar
.udfbelgeyi doğrudan kabul eder; metni CDATA bloğundan çıkarır ve dosyanın geri kalanıyla birlikte aranabilir yapar.- Türkçe karakterleri ve para/tarih biçimlerini kayıpsız taşır; bu, gidiş-dönüş testleriyle sabitlenmiştir.
- Dilekçeyi UYAP'ın formatında (format_id 1.8) yazar; paragraf hizalaması korunur.
- Yazmadan önce offset değişmezini doğrular — bozuk offsetli dosya hiç üretilmez.
- Aynı içerikten DOCX de üretir; iki çıktı da aynı paragraf dizisinden gelir.
Bugün yapmaz
- Okuma sırasında kalın/italik gibi karakter biçimlerini korumaz — metin düz alınır.
- Belgedeki görselleri, mühür ve imza görüntülerini çıkarmaz; yer tutucuları temizlenir.
- UDF içindeki elektronik imzayı doğrulamaz; imza geçerliliği hakkında hiçbir şey söylemez.
- Sayfa numarası üretmez — UDF'de fiziksel sayfa yoktur, atıf bölüm olarak gösterilir.
- Yazıcı tarafında tablo, görsel, üst/alt bilgi ve karakter düzeyi stil üretmez.
Dilekçe üretme tarafının ayrıntısı —hangi şablonlar var, çıktı nasıl indiriliyor— UDF dilekçe hazırlama rehberinde.
Sık sorulanlar
UDF dosyasını Word ile açabilir miyim?
Word, UDF'yi kendi belge biçimlerinden biri olarak tanımaz. UDF teknik olarak bir ZIP arşividir ve içinde tek bir content.xml bulunur; uzantıyı .zip yapıp açarsanız metni CDATA bloğunun içinde ham hâliyle görebilirsiniz, ancak biçimlendirme ayrı offset koşularında durduğu için belge o yolla yeniden kurulmuş olmaz. Belgeyi UYAP'ın kendi doküman editöründe açmak asıl yoldur; Lexapel'e yüklerseniz metni sizin için çıkarır.
UDF aslında ZIP mi?
Evet. UDF, Deflate sıkıştırmalı bir ZIP kabıdır ve içinde content.xml adlı tek bir XML dosyası taşır. Bu yüzden bir UDF'nin ilk baytları DOCX ile aynıdır (PK\x03\x04). Lexapel içe aktarmada uzantıya güvenmez, dosyanın ilk baytlarını da kontrol eder: uzantısı .udf olan ama içeriği ZIP olmayan bir dosya 'dosya içeriği uzantısıyla uyuşmuyor' notuyla atlanır.
Lexapel bir UDF'yi okurken biçimlendirmeyi koruyor mu?
Hayır. Okuma tarafında amaç metnin aranabilir ve atıflanabilir olmasıdır: content.xml'in CDATA bloğundaki metin alınır, görsel yer tutucuları (U+FFFC) temizlenir ve düz metin olarak işlenir. Yazma tarafı farklıdır — dilekçe dışa aktarılırken paragraf hizalaması (sola, ortaya, sağa, iki yana) ve tek bir varsayılan yazı tipi boyutu UDF'ye yazılır.
UDF'de neden sayfa numarası yok?
UDF'nin içeriğinde fiziksel sayfa kavramı yoktur; sayfalara bölünme belgeyi görüntüleyen editörün sayfa biçimine göre oluşur. Bu yüzden Lexapel bir UDF'den gelen atıfları sayfa yerine bölüm olarak gösterir ve sayfa sayısını yalnızca kota/görüntüleme amacıyla, yaklaşık 3.000 karakter = 1 sayfa varsayımıyla tahmin eder. PDF'lerde durum farklıdır: orada gerçek sayfa numarası taşınır.
Bu codec hazır bir kütüphaneden mi alındı?
Hayır. UDF okuyucu ve yazıcı bu ürün için yazıldı. Kamuya açık UDF format belgelenmesindeki yapı taklit edildi; lisansı bulunmayan üçüncü taraf araçlardan kod kopyalanmadı. Bu kararın kaydı depodaki THIRD_PARTY_NOTICES.md dosyasında durur.
Bu sayfa Lexapel'in teknik davranışını anlatır; hukuki tavsiye değildir ve usul/süre bilgisi içermez. Ürünün ürettiği her metni ve her atfı dosyanızın aslıyla teyit etmek meslektaşın kendi sorumluluğundadır.
UDF'yi dosyanızın içinde görün
Lexapel UYAP'tan gelen UDF ve PDF belgeleri aynı anda okur; sorduğunuzu kaynak göstererek yanıtlar ve dilekçeyi yeniden UDF olarak verir.