⚖️
UYAP Teknik Destek Hukukçular İçin UYAP, Java ve UDF Çözüm Masası

UDF belgesine taranmış ıslak imza veya kaşe görseli eklediğimde belge boyutu 5 MB'a fırlıyor ve DYS kabul etmiyor, görselleri UDF içinde sıkıştırmanın yolu var mı?

Zabıt katibi ve avukat ortak çalışma ortamımızda hazırladığımız tensip tutanağı, gerekçeli karar ve kurum içi yazışma UDF şablonlarına taranmış ıslak imza veya resmi mühür görseli ekliyoruz. Normal şartlarda 20-30 KB boyutunda olan bir UDF dosyası, imza görseli yapıştırıldıktan sonra aniden 5-6 MB seviyesine çıkıyor ve Doküman Yönetim Sistemi (DYS) evrak gönderme aşamasında 'Maksimum evrak boyutu aşıldı' veya 'Java Heap Space / Bellek Yetersiz' uyarısı vererek evrakı reddediyor. UYAP Doküman Editörü içinde gömülü görselleri doğrudan sıkıştıran dahili bir araç var mıdır; yoksa UDF formatının XML ve Base64 veri yapısı gereği görselleri dışarıda optimize edip eklemenin teknik standartları (DPI, piksel boyutu, renk derinliği) nelerdir?
Durum: Çözüldü Kategori: Soru-Cevap

2 Cevap

✓

Merhaba, Doküman Yönetim Sistemi (DYS) ve UYAP Doküman Editörü kullanan yargı personeli ve meslektaşlarımızın sıklıkla karşılaştığı bu boyut patlaması, UDF dosya formatının iç mimarisi ve Java tabanlı nesne serileştirme yapısından kaynaklanmaktadır. Sorunuzun en net cevabı: UYAP Doküman Editörü'nün (UDF Editor) kendi içerisinde eklenen resimleri yeniden boyutlandıran, piksellerini düşüren veya sıkıştıran dahili bir görsel optimizasyon motoru KESİNLİKLE YOKTUR. Editör içine yapıştırılan görsel ne büyüklükteyse, dosya yapısına aynen ve hatta katlanarak gömülür.

UDF Dosyası Neden Bir Anda 5 MB Boyuta Fırlar? (Teknik Nedenler):

  • XML ve Base64 Şişmesi: UDF (UYAP Doküman Formatı) uzantılı dosyalar, aslında içerisinde content.xml ve meta veri dosyalarını barındıran sıkıştırılmış bir Java XML arşividir. Dokümana bir görsel eklediğinizde veya kopyala-yapıştır yaptığınızda, görselin ikili (binary) ham piksel verisi XML etiketleri içerisine Base64 kodlaması ile metin olarak yazılır. Base64 dönüşümü, ikili veriyi saf metin karakterlerine dönüştürürken dosya boyutunu matematiksel olarak doğrudan %33 oranında otomatik olarak artırır.
  • Pano (Clipboard) Tuzağı ve Ham Bitmap (DIB): Çoğu kullanıcı akıllı telefonuyla veya yüksek çözünürlüklü tarayıcıyla çektiği 300-600 DPI çözünürlüğündeki 24-bit RGB imza fotoğrafını ekranda açıp ekran görüntüsü aracıyla (Snipping Tool) kopyalayarak doğrudan UDF'ye yapıştırmaktadır. Bu işlem sırasında Windows panosu sıkıştırılmamış ham bitmap (Device Independent Bitmap - DIB) verisi aktarır. Böylece 200 KB'lık bir JPG fotoğrafı, bellekte 4 MB'lık saf piksel matrisine dönüşür ve UDF bu devasa ham veriyi XML içine gömer.
  • DYS ve Java Heap Bellek Çökmesi: DYS sunucuları tekil ek ve evrak boyutlarında katı kotalar uygular. Ayrıca Java Swing tabanlı UDF Editör, e-imza aşamasında XML belgesini ayrıştırırken (DOM parsing) ve XML-DSig / CAdES dijital imza hash'ini hesaplarken doküman boyutunun 4 ila 8 katı kadar RAM tüketir. 5 MB'lık bir UDF, imzalama anında 30-40 MB anlık heap bellek talep ederek 32-bit Java ortamında kilitlenmeye ve bellek taşması (OutOfMemoryError) hatalarına yol açar.

Görselleri UDF İçin Optimize Etmenin 4 Adımlı Kesin Çözümü:

Belge boyutunun 30-50 KB seviyesinde kalması ve DYS'den sorunsuz geçmesi için görseli UDF'ye eklemeden önce mutlaka şu standartlara getirmelisiniz:

1. Piksel Boyutunu ve Çözünürlüğü (DPI) Standartlaştırın

  • Bir UDF sayfasında imza veya kaşenin kaplayacağı gerçek alan en fazla 4x2 santimetredir. Bu alan için 4000x3000 piksellik bir görsel kullanmak tamamen kaynak israfıdır.
  • Görseli Windows Paint, Paint.NET veya Photoshop ile açın.
  • Yeniden Boyutlandır (Resize) menüsünden piksel genişliğini en fazla 250 - 300 piksel, yüksekliğini ise 80 - 100 piksel aralığına düşürün. Mühür ve yuvarlak kaşeler için 200x200 piksel idealdir.
  • Çözünürlük değerini (DPI) 96 DPI veya maksimum 150 DPI olarak belirleyin.

2. Renk Formatını 8-Bit Gri Tonlamaya (Grayscale) Çevirin

İmza ve kaşeler genellikle tek renktir (mavi veya siyah mürekkep). Görseli 24-bit TrueColor (16 milyon renk) olarak saklamak her piksel için 3 bayt veri harcar. Resmi Gri Tonlama (Grayscale - 8 bit) veya siyah-beyaz çizim moduna dönüştürdüğünüzde dosya boyutu görsel kaliteden hiçbir ödün vermeden anında üçte birine iner.

3. Doğru Dosya Formatında Kaydedin

  • Görseli şeffaf arka planlı PNG-8 (Indexed Color) veya %80 kalite oranında JPEG olarak diske kaydedin.
  • Diskteki dosya boyutunun 15 KB ile 35 KB arasında olduğunu teyit edin.

4. Asla Doğrudan 'Kopyala-Yapıştır' Yapmayın, Menüyü Kullanın

UDF Editör menüsünden Düzenle > Resim Ekle (veya Ekle > Resim) seçeneğini kullanarak diskte hazırladığınız 20 KB'lık optimize görseli seçin. Bu yöntem, Java'nın panodaki ham bitmap yerine dosyanın sıkıştırılmış bayt akışını kullanmasını sağlar.

Mevcut 5 MB'lık Bozuk UDF'yi Kurtarma Yöntemi:

Eğer elinizde daha önceden hazırlanmış ve boyutu şiştiği için DYS'nin almadığı bir UDF varsa, belgeyi UDF Editör'de açıp mevcut büyük imza görselini klavyeden Delete tuşuyla silin. Ardından yukarıdaki adımlarla küçülttüğünüz 20 KB'lık resmi menüden tekrar ekleyip Farklı Kaydet yapın. Belgenizin anında 40 KB seviyesine indiğini ve DYS'ye saniyeler içinde yüklendiğini göreceksiniz.

Yanıtlayan
Katip Selim K.

Önemli bir teknik uyarı: Windows Snipping Tool (Ekran Alıntısı Aracı) ile kırpılan görseller panoda doğrudan 32-bit alfa kanallı raw bitmap olarak tutulur. Bu resmi doğrudan UDF içine Ctrl + V ile yapıştırdığınızda Java nesnesi ham bellek dökümü oluşturur. Pratik bir çözüm olarak; ekran görüntüsünü aldıktan sonra önce Paint programına yapıştırıp .jpg olarak kaydedin, dosya özelliklerinden boyutun 30 KB altında olduğunu teyit ettikten sonra UDF Editör'ün 'Resim Ekle' fonksiyonuyla dokümana dahil edin.

Yanıtlayan
UYAP Sistem Destek T.