Belge Dönüştürme
UDF, RTF, FODT, DOCX dosyalarını PDF'e dönüştürme. Java Daemon ve Native Qt dönüştürücü seçenekleri.
Genel Bakış
Colpan, çeşitli belge formatlarını PDF’e dönüştürebilir. İki farklı dönüştürücü motoru sunar.
Desteklenen Formatlar:
| Giriş | Dönüşüm Zinciri | Çıkış |
|---|---|---|
| .udf (UYAP) | Direkt | |
| .rtf | RTF → UDF → PDF | |
| .fodt | FODT → UDF → PDF | |
| .docx | LibreOffice → RTF → UDF → PDF | |
| .doc | LibreOffice → RTF → UDF → PDF | |
| .odt | LibreOffice → RTF → UDF → PDF |
Dönüştürücü Motorları
1. Java Daemon (OriginalUyapEditor)
Varsayılan dönüştürücü. UYAP editörün Java kütüphanelerini kullanır.
Özellikler:
- Yüksek uyumluluk
- UYAP formatı ile birebir uyum
- Embedded JRE (kurulum gerektirmez)
- Socket tabanlı IPC (port 39876)
Avantajlar:
- En doğru rendering
- Tüm UDF özelliklerini destekler
- Karmaşık tablolar ve görüntüler
Dezavantajlar:
- İlk başlatma yavaş (JVM warm-up)
- Daha fazla bellek kullanımı
2. Native Qt Converter (ColpanUdf2Pdf)
C++/Qt tabanlı native dönüştürücü. Daemon gerektirmez.
Özellikler:
- Direkt kütüphane entegrasyonu
- Daha hızlı başlatma
- Daha düşük bellek kullanımı
Avantajlar:
- Anında dönüştürme
- Daha az kaynak tüketimi
- Daemon yönetimi yok
Dezavantajlar:
- Bazı karmaşık formatlar eksik olabilir
- Sürekli geliştirme altında
Motor Seçimi
- Ayarlar > PDF Dönüştürücü
- “Java Daemon” veya “Native Qt” seçin
- Değişiklik hemen uygulanır
UDF → PDF Dönüştürme
Otomatik Dönüştürme
- Sonuç listesinde UDF dosyasına çift tıklayın
- PDF otomatik oluşturulur
- Yerleşik viewer’da açılır
Manuel Dönüştürme
- Sonuç listesinde sağ tıklayın
- “PDF Olarak Kaydet” seçin
- Kayıt konumu seçin
- PDF oluşturulur
Dönüştürme Akışı
UDF Dosyası
↓
[İmza Kontrolü] → İmzalı mı?
↓ Evet ↓ Hayır
[İmza Kaldırma] → Direkt işle
↓
[Temp UDF Oluştur]
↓
[Dönüştürücü Motor]
↓
PDF Dosyası
İmza Kaldırma
UDF dosyalarındaki dijital imza (sign.sgn) dönüştürme öncesi geçici olarak kaldırılır.
Neden?
- İmzalı UDF’ler dönüştürülemez
- Orijinal dosya değiştirilmez
- Geçici kopya kullanılır
RTF → UDF → PDF Dönüştürme
RTF dosyaları önce UDF formatına, sonra PDF’e dönüştürülür.
RTF Import Özellikleri
| Özellik | Destek |
|---|---|
| Metin formatları | Evet |
| Paragraf stilleri | Evet |
| Tablolar | Kısmi |
| Görüntüler | Evet |
| Sayfa düzeni | Evet |
| Üst/alt bilgi | Kısmi |
Kullanım
- Dosya > “RTF’den Dönüştür”
- RTF dosyası seçin
- UDF oluşturulur
- PDF önizleme açılır
FODT → UDF → PDF Dönüştürme
FODT (Flat ODF Text), LibreOffice’in sıkıştırılmamış XML formatıdır.
FODT Avantajları
- Tek XML dosyası (ZIP değil)
- Versiyon kontrolüne uygun
- Kolay düzenlenebilir
Kullanım
- Dosya > “FODT’den Dönüştür”
- FODT dosyası seçin
- UDF oluşturulur
- PDF önizleme açılır
LibreOffice Zinciri
DOCX, DOC ve ODT dosyaları LibreOffice üzerinden dönüştürülür.
Gereksinimler
- LibreOffice kurulu olmalı
soffice.exePATH’te olmalı
Dönüşüm Zinciri
DOCX/DOC/ODT
↓
[LibreOffice] → RTF dışa aktar
↓
RTF dosyası
↓
[RTF Parser] → UDF oluştur
↓
UDF dosyası
↓
[PDF Converter] → PDF oluştur
↓
PDF dosyası
Kullanım
- Dosya > “Office Belgesinden Dönüştür”
- DOCX/DOC/ODT seçin
- LibreOffice RTF’e çevirir
- RTF → UDF → PDF zinciri çalışır
LibreOffice Bulunamadı Hatası
Çözümler:
- LibreOffice’i kurun
- PATH’e ekleyin:
C:\Program Files\LibreOffice\program\ - Uygulamayı yeniden başlatın
Java Daemon Yönetimi
Daemon Durumu
Durum çubuğunda PDFc göstergesi:
| Gösterge | Anlam |
|---|---|
PDFc ✓ (Yeşil) | Daemon çalışıyor |
PDFc ⏳ (Sarı) | Daemon başlatılıyor |
PDFc ✗ (Kırmızı) | Daemon başlatılamadı |
Manuel Kontrol
Başlatma:
- Ayarlar > PDF Dönüştürücü
- “Daemon Başlat” tıklayın
Durdurma:
- Ayarlar > PDF Dönüştürücü
- “Daemon Durdur” tıklayın
Fire-and-Forget Başlatma
Daemon arka planda başlatılır, UI bloklanmaz.
Akış:
- Başlatma komutu gönderilir
- UI hemen devam eder
- Health check timer çalışır
- Hazır olunca durum güncellenir
İstek Kuyruğu
Daemon hazır değilken gelen istekler otomatik kuyruğa alınır.
İstek geldi → Daemon READY mi?
↓ Hayır ↓ Evet
[Kuyruğa ekle] [Hemen işle]
[Daemon başlat]
↓
Daemon READY olunca
↓
[Kuyruk işle]
Geçici Dosya Yönetimi
PDF Önbellek
Dönüştürülen PDF’ler geçici dizinde saklanır:
%TEMP%\Colpan\pdf_cache\
├── doc1_abc123.pdf
├── doc2_def456.pdf
└── ...
Temizlik
Otomatik:
- Uygulama kapanışında
- Belirli süre sonra (1 saat)
Manuel:
- Ayarlar > Genel
- “Önbelleği Temizle” tıklayın
Sorun Giderme
PDF açılmıyor
Belirtiler:
- PDFc durumu kırmızı
- “Dönüştürme hatası” mesajı
Çözümler:
- Port 39876 kontrolü
- Daemon’u yeniden başlatın
- Native converter’ı deneyin
Dönüştürme çok yavaş
Belirtiler:
- İlk PDF uzun sürüyor (>10 sn)
Nedenler:
- JVM warm-up (ilk defa)
- Büyük dosya
Çözümler:
- İlk dönüştürme sonrası hızlanır
- Native converter kullanın
Bozuk PDF çıktısı
Belirtiler:
- Eksik karakterler
- Bozuk tablo
- Görüntü yok
Çözümler:
- Java Daemon’a geçin
- Orijinal UDF’i kontrol edin
- Font eksikliği olabilir
RTF dönüşüm hatası
Belirtiler:
- “RTF parse error” mesajı
Çözümler:
- RTF’in geçerli olduğunu kontrol edin
- Farklı bir RTF kaynağı deneyin
- LibreOffice ile önce temizleyin
Performans İpuçları
| İpucu | Etki |
|---|---|
| SSD kullanın | 2-3x hızlı I/O |
| Native converter | Daha hızlı başlatma |
| Önbellek aktif | Tekrar dönüştürme yok |
| Küçük dosyalar | Daha hızlı işlem |
Teknik Detaylar
Java Daemon Port
Port: 39876 (localhost)
Protokol: TCP Socket
Format: Dosya yolu + newline
Yanıt: PDF yolu veya hata
Native Converter API
// Direkt fonksiyon çağrısı
QString pdfPath = ColpanUdf2Pdf::convert(udfPath);
Desteklenen Kodlamalar
- UTF-8 (varsayılan)
- Windows-1254 (Türkçe)
- ISO-8859-9 (Latin-5)