2012-09-06 7 views
5

Ben Ruby on Rails 3.2 yazdırılmış belgeler için bir tür adres-mektup birleştirme uygulamak çalışıyorum. Microsoft Word'de yaklaşık 8000 alıcı ve şablon kaynağım var. Şablon görüntüleri (fotoğraflar) içerir ve yaklaşık 10-20 sayfa içerir.Adres mektupları bir kerelik raylar içinde, ancak büyük sayılar

Asıl durum şu ki, orijinal şablonu Tekstil'e (kırmızı bez) yeniden yazdım ve resimler internetten (http adresi) ekleniyor. Tüm kişiselleştirmeyi yaptım. Bu yüzden HTML dosyası oluşturuyorum ve her biri 1000 sayfa için çok sayıda küçük dosyaya bölmeliyim. Toplam ihtiyacım olan 8000 x 20 sayfa = 160.000 sayfa.

HTML'den PDF'ye nasıl yazdırılacağını bilen var mı? Veya kağıt tepsisini değiştirmek için (ilk ve son sayfa için) veya 20 sayfadan sonra ciltleme komutları nasıl eklenir?

herhangi bir fikir için teşekkür ederiz :-)

+0

"Adres mektup birleştirme" derken gerçekten "şablon değiştirme" demek istiyorsun, değil mi? – tadman

+0

Evet, yapıyorum. Word'de mektup birleştirmeyi kullandık ... – dominikform

+0

[wkhtmltopdf] (http://code.google.com/p/wkhtmltopdf/) kullanabilir misiniz? – PinnyM

cevap

0

İşte bir fikir: sizin raylar app, Kullanıcı başına bir html döndürecek şekilde ayarlayın. Ayrıca, uygun bir şekilde, belki de json biçiminde bir kullanıcı listesi döndüren bir güzel/kullanıcı/dizin yöntemi var.

  • muhtemelen o/kullanıcılar/yönteminden kullanıcıların listesini alıp bir dosyaya kaydedin:

    Şimdi, için uygundur neyse yakut, bash, yazılan bir yerel senaryoyu, istediğiniz

  • kullanıcıların listesine üzerinde döngü (dosyadan, böylece tüm bellekte değiliz) ya döngü içine veya döngü dosyaları üzerinde, ve
  • indirilen her HTML pdf oluşturmak e-postanın HTML getirme HTML'yi kaydettiğiniz bir dizinde. Wkhtmltopdf veya benzeri kullanın.
  • Her bir pdf'yi tekrar aynı döngünün içinde yazıcıya gönderin veya kaydedilen pdf'lerin üzerine geçin.

fantezi olsun istiyorsa ve biraz daha verimli, sen resque gibi bir sıralama sistemi kullanma ve kuyruğuna olanlar her bir madde yapmak ve kuyruktaki başına bir işçi çalıştırabilir. Bu, diğerleri hala indirilmekte ve dönüştürülüyor olsa da, bazı pdfs basmaya başlayacaktır, bu yüzden genel olarak daha az zaman olmalıdır. Ancak, böyle bir kuyruk sistemine henüz aşina değilseniz, basit bir betik de bunu yapmalıdır.