

iText kütüphanesini kullanarak dynamic pdf dosyalarını yani acrobeform ve xfa formlarını merge(tek dosyada birleştirme) edebilir miyiz? Normal pdf dosyalarını birleştirebiliyorum fakat dynamic pdf işin içine girince sadece 1 sayfa gösteriyor. Yardımlarınız için şimdiden teşekkürler.


Merhaba,
Eğer mesele iki AcroForm formatındaki pdf dosyasını merge etmek ise bunu aynı dinamik form içeriği olmayan pdf'lerde olduğu gibi yapabilirsin. Ancak xfa biliyorsun ki apayrı bir format, ve iText xfa tipindeki dinamik pdf dosyalarını birleştirmekte pek başarılı değil, çünkü xfa dosyalarını birleştirme desteği -en azından benim bildiğim sürümde- yok. Bu konuda iText in Action (2. basım) kitabında yazan:
Burada "These examples" olarak tabir ettiği şey iText'in PdfCopy'li örnekleri:
Bu yolla xfa dosyalarını belki kendi aralarında zorlama olarak merge edebilirsin ancak bu sefer de sayfa sayılarında kaymalar ve bunun gibi sorunlar ortaya çıkabiliyor. Aslında bu da uygun olmayanı uygunsuz biçimde kullanmaya çalışmaktan ve iText in Action kitabında yazan kurala uymamaktan kaynaklanıyor. Senin "boş gözüken sayfa" problemin de aslına bakarsan bu.
İki xfa içerikli pdf'i birleştiriyor olsan önerilen şey, pdf içindeki xfa bilgisini alıp, kendi çabalarınla node'ları sıralayıp/değiştirip, ardından xfa bilgisini tekrar pdf içine gömmen. Ancak mesele bir AcroForm ile xfa'yı birleştirmek olunca bunu nasıl yapacağını net olarak söyleyemiyorum. Sadece şunu önerebilirim:
Biliyorsun her pdf objesi üzerinde bir xfa nesnesi var(xfa formatında olmayanlarda bu null oluyor). AcroForm'a sahip pdf için boş node'lu bir xfa tanımlar ve pdf'e setlersen(setXfa metodu ile), diğer xfa içeriği ile birlikte onu da yukarıda bahsettiğim şekilde 2. sayfa olacak şekilde editleyerek birleştirme yapabilirsin. Burada biraz aslında işin üçkağıdına kaçmış olursun, ancak çalışması mümkün olur.
Birleştirilmiş xfa yapısı için iki sayfadan oluşan ve iki sayfası da xfa formatında olan bir pdf bulup xfa xml içeriğine bakarsan çıkarman gereken format açısından yardımı olacaktır diye düşünüyorum. Buradaki yapıya göre AcroForm'un xfa xlm'inin hangi yapıda, geriye kalan xfa özellikli pdf'in xfa xml'inin hangi yapıda olacağına karar verebilirsin.
cevaplandı: 12 Tem '12, 23:33
mabulgu ♦