PDF'i otomatik pilota bağlamak!

Kısa bir zaman önce, böyle bir yazılımcı ve/veya işlemci gücü aranmaya başladım. Çünkü elimde bir PDF şablon, 300 kişinin ismi ve soyad ve bunlardan üretmem gereken 300 tane PDF dosyası duruyordu. Normal işlem, PDF şablon açılır, teker teker isimler kopyalanıp, yapıştırılır ve üretilen PDF dosyası saklanır.

"İyi yazılımcı, tembel yazılımcıdır". Bunu ilk defa, eski çalıştığım yerde, yeteneği inanılmaz sınırlara uzanan bir yazılımcıdan işitmiştim. Anlamı şu: bir yazılımcıya, en fazla ayni rutin işlemi iki kez yaptırabilirisiniz. Üçüncü defa, yazılımcı bir yolunu bulup, isi otomasyon haline getirecek bir yol bulup, kendi beynini kullanmak yerine, bilgisayarının işlemcisini kullanmayı tercih edecektir.

Kısa bir zaman önce, böyle bir yazılımcı ve/veya işlemci gücü aranmaya başladım. Çünkü elimde bir PDF şablon, 300 kişinin ismi ve soyad ve bunlardan üretmem gereken 300 tane PDF dosyası duruyordu. Normal işlem, PDF şablon açılır, teker teker isimler kopyalanıp, yapıştırılır ve üretilen PDF dosyası saklanır. Ben, iyi bir yazılımcı değilim. Hatta yazılımcı bile değilim ama tembellim :-) Bu nedenle, bu proje için otomasyon yolu buldum ve belki günün birinde size de lazım olur diye paylaşayım dedim.

Diyelim ki elinizde bir PDF şablonunuz (örneğin yemek, parti, doğum günü davetiyesinden oluşmuş bir PDF dosyası) ve bir dolu isim ve e-mailden oluşan bir Excel dosyanız var.

Öncellikle Excel dosyanızı, tekst dosyası olarak yeniden kayıt edin (örneğin veri.txt) ve aşağıda görülen bir veri dosyası oluşturun:

isim soyad

Ali Veli

Mehmet Saricizmeli

Daha sonra, PDF şablonunuzu açın ve yukarıdaki verilerin görünmesi gereken yerlere PDF Form araçları sayesinde Textbox oluşturun. Textbox'in ismi ile veri dosyanızdaki sütun başlıklarının uyuşmasına dikkat edin.

Textbox ile süslediğiniz bu yeni PDF şablonu veri dosyası (veri.txt) ile aynı klasör içine saklayın ve daha sonra Adobe Acrobat içinde şablonunuz açıkken Ctrl+J'ye basıp, Acrobat Console'u ekrana çağırın ve aşağıda gördüğünüz JavaScript'i kopyalayıp, yapıştırın.


var targetDirectory ="/C/Temp/Sonuc/"; 

var re = /.pdf$/i; 

var filename = this.documentFileName.replace(re,""); 

var i = 0, retn = 0; 

while( retn == 0 ) { 

retn = this.importTextData("veri.txt", i); 

var f = this.getField("soyad"); 

if ( retn == 0 ) { 

try { 

this.extractPages({ 

nStart: 0, 

cPath: targetDirectory + f.value + ".pdf" 

}); 

} catch (e) { console.println("Aborted: " + e) } 

i++; 



}



Hepsi bu kadar! Ctrl+A'ya basıp, bütün kodu secili hale getirip, Ctrl+Enter'a basın. Voila! 300 tane PDF dosyası, isim ve email adresleri gereken yerlere yazılmış şekilde sizi bekliyor.

Yukarıda kod içinde değiştirebileceğiniz kısımlar:

var targetDirectory kısmı, bu scripte, üretilecek PDF dosyalarının saklanacağı dizini tanımlıyor.

this.importTextData("veri.txt", i); ise veri dosyanızı ismini taşıyor.

this.getField("soyad"); kısmı ise, bu dosyaların nasıl isimlendirileceğini tanımlıyor.

Verdiğimiz örnek içinde, üretilen dosyalar, veri dosyanız içinde bulunan "soyad" sütunundaki verileri kullanarak isim verecek, örneğin "Veli.pdf".

Umarım günün birinde, bu scriptin size de yardımı dokunur.
  • Etiketler;
Mehmet Doğan
Hiç kendiniz hakkında bir yazı yazmaya çalıştınız mı? Özgeçmiş yazmaktan en az 10 kat daha zor. Bakalım, bir deneme yapacağım fakat 11 yaşındayken kamp ateşi üzerine yanlışlıkla oturup popomu yaktığım zamanı ve hergün pırasa yediğim kreş yıllarını atlamak istiyorum. (Eğer bir sakıncası yoksa) Sanata olan ilgim daha küçük yaşlarda başladı, 5 yaşında iken ayakkabı boyacısı olmak istiyordum. Bu sanırım benim renklere olan tutkumun bir kanıtı olmalı. Halbuki o dönemde itfayeci, polis ve süper kahraman (özellikle Süperman ya da Zagor) olmak çok cazipti fakat yaratıcı bir karaktere sahip olmak beni hiç terketmedi. Yaratıcılık duygusu lise yıllarında daha da şekillendi içimde. Sanat ve edebiyat ile ilgili dersler beni oyunculuğa itti (sınıfın en güzel kızının da tiyatro ile ilgilenmesinin bununla hiçbir ilişkisi yoktur. Zaten okulun en güzel kızı “tren yolu saç modelli” bir kişiye bakacak kadar çaresiz değildi.) Sanat ve yaratıcılık ile ilgili aldığım onca sinyallere rağmen üniversitede iktisat bölümünde okuyup, mezun oldum. Halbu ki ben kırmızı kurdele sahibi bir öğrenci idim. İktisatdan mezun olduktan sonra ki düşüncem, İstanbul gibi büyük bir şehirde iktisatçı olarak çalışmak, büyük bir şirketin genel müdürlüğünü yapmak, çok para kazanmak ve daha sonra herşeyi bırakıp hayatımın geri kalan kısmını dünyayı gezerek geçirmek idi fakat hayatın akışı benim planlarıma uygun bir yönde gitmiyordu. Kısa zamanda ekonomiden nefret ettim. Para ile uğraşmanın (özellikle diğer kişilerin paraları) ve takım elbise-kravat giymenin bana uygun olmadığını anladım. Web tasarımına girmeden önce birçok değişik işte çalıştım. Radyo programcılığı, TV komedi program sunuculuğu, satış elemanlığı (esasında satış elemanlığı ben 5 yaşında iken başladı. Bir kutu çikolata satıp, kazandığım para ile o çok istediğim plastik yılanı aldım) v.b. Yıllar sonra, ilk Internet bağlantımı satın aldım ve Internet’e aşık oldum. Sanata olan tutkum yeniden geri döndü. İlk tasarımını yaptığım websitesi kötü yazılmış HTML’den ve tahta fon resminden oluşuyordu ama yine de ilk deneme için fena sayılmazdı ve bu ilk deneme benim web için olan tutkumu ateşledi. İşte o gün bugündür, ben, kendime "web tasarımcısı" adını veriyorum. Nerdeyse 8 yıl olmuş, Internet degişmiş, yaptıgım işin şekli, ismi degişmiş ve ama degişmeyen tek şey benim halen o ilk gün ki heyecanı taşımam. Birseyi, her gün, saatlerce, haftalarca, aylarca ve yıllarca yapıp, yorulmadığınız zaman bilmelisiniz ki, siz, yaptığınız isten zevk alıyorsunuz. 2000 yılında, New Brunswick Üniversitesi’nin Bilgi İşlem Bölümü’nün genel müdür yardımcısı John Webster (2005 yılında emekli oldu), beni, Web Geliştirme Bölümü’nün müdürü olarak işe aldı. Eğer ona soracak olursanız, bu kararın şimdiye kadar verdiği en iyi yönetim kararı olduğunu söylecektir size. İşte buradayım ve yaptığım işe AŞIАIM. Bütün bu iş hayatının yanında, ben, sihirbazların kullandığı çeşitli kağıt oyunları ve aksiyon oyuncakları toplamaktayım. Aksiyon oyuncakları benim vazgeçilmez kolleksiyonum. Bazıları parasını giyeceğe, tatile harcar; ben ise oyuncaklara. Özellikle, MacFarlane Oyuncaklarına. Hayatımda ki üç kişi benim için dünyadan bile daha değerlidir. Bu kişilerden biri eşim Jennifer, diğerleri ise kızlarım Jayda ve Aliya. İşte bu kadar. Eğer gerçekten bu yazdıklarımı okuyup, bu satırlara kadar ulaştıysanız sizi tebrik ederim. Zamanınızı iyi harcadınız :)
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

merhaba ben yaklasık 1500 tane pdf dosyasının ayrı ayrı cıktısını almak istiyorum bunun için dosyaların içine tektek girip yazdır komutunu vermekten baska bi kısa yol varmı acaba yardımcı olursanız sevinirim.tesekkürler

Yukarı Git