Dinamik php ile pdf dosyalarını içine içerik eklemek

4 Cevap php

Benim müşterilere dağıtmadan önce PDF dönüştüğünde kelimeyle bir e-kitap var. Ben dinamik Onlara sitemde Sadece üye içeriğe erişim sağlamak için e-kitap tüm bağlantıların içine kendi e-posta adresi eklemek istiyorum, ve ben kitap indirme sürecinin bir parçası olarak, anında bunu yapmak istiyorum.

Ben kısaca http://us.php.net/pdf ve FPDF baktım, ama ben bu verileri eklemek için kullanmak istiyorum ne özel tekniği merak ediyordum.

Ben e-posta adresi gitmek istediğiniz yere email token dize yerleştirin ve sonra PDF belgesinde bu belirteçleri güncelleştirmek için bazı işlevini kullanın düşünüyordum.

Herkes bana doğru yönde işaret edebilir? Ben php deneyimi var, ama düzenleme / oluşturma pdf belgeleri ile php.

EDIT: Evet, bu ticari komut http://www.setasign.de/products/pdf-php-solutions/setapdf-linkreplacer/ tam olarak ne ihtiyaç yok.

4 Cevap

Şimdiye kadar bu benim en iyi bahis gibi görünüyor:

http://www.setasign.de/products/pdf-php-solutions/setapdf-linkreplacer/

Bunun bir eval kopyasını çalışırken, sonuçlar yazısı güncellenir.

Eğer FPDI FPDF için uzantısı http://www.setasign.de/products/pdf-php-solutions/fpdi/ ile yapabilirsiniz

Ben nasıl bir bağlantıları yerine emin değilim gerçi, mevcut pdf dosyalarını almak için FPDF sağlar.

Ben senin en iyi atış php şeyi üretmek için, ya da sadece pdf html dönüştürmek, sonra html bağlantıları yerine, html kaydetmek olacağını söyleyebilirim.

Adobe LiveCycle Designer kullanmadan, özel bir PDF oluşturmak için en kolay yolu bir FDF dosyası kullanmaktır. Bunu yapmanın yolları ton vardır, biri Adobe'den ikililer indirmek ve sunucuya bunları yüklemektir. Ama hiçbiri gerçekten gereklidir. Tüm ihtiyacınız doldurulabilir formları ile bir pdf ve ve FDF dosyası yapar basit bir script. FDF sadece doldurulacak ve ben işte bizim zaman çizelgeleri için kullanabilirsiniz içeri pdf dosyası için bir işaretçi doldurulması gereken verileri tutar. Veriler bir web formu gider, ama statik ve çirkin ve 30 yıl önce bir kağıt kullanılarak dışarı çıkmalıdır. İşte fdf dosyası (kod ile ve çiğ hem de) gibi görüneceğini bulunuyor:

 $file = "http://www.example.com/blankpdfform.pdf";
 $data = "%FDF-1.2\n%âãÏÓ\n1 0 obj\n<< \n/FDF << /Fields [ ";
 foreach($datafields as $field => $val) {

      $data.='<< /T ('.$field.') /V ('.trim($val).')>> ';
 }

 $data.="] \n/F (".$file.") /ID [ <".md5(time()).">\n] >>".
      " \n>> \nendobj\ntrailer\n".
      "<<\n/Root 1 0 R \n\n>>\n%%EOF\n";

Sonuç olarak:

 %FDF-1.2\n%âãÏÓ\n1 0 obj\n<< \n/FDF << /Fields [<< /T (email) /V (email@address.com)>>
 /F ("http://www.example.com/blankpdfform.pdf") /ID [ <"SomeUniqueID">
 ] >> \nendobj\ntrailer<<
 /Root 1 0 R 
 >>
 %%EOF

Eğer web sunucusu üzerinde bir dosyada saklanır e-posta simgesi ile PDF şablonu varsa, oldukça kolay yapabilirsiniz. Öncelikle PHP kullanarak dosya okumak gerekir. Sen? Izle yöntemini kullanarak bunu yapabilirsiniz. Sonra gerçek e-posta ile e-posta belirteci değiştirmek için str_replace kullanabilirsiniz. Son olarak, doğru içerik türü ile dosyayı hizmet vermektedir.

$pdf = file_get_contents( 'template.pdf' );
$pdf = str_replace( '__EMAIL__TEMPLATE__', $userEmail, $pdf );
header( 'Content-type: application/pdf' );
print $pdf;

Doc links: http://ca2.php.net/manual/en/function.file-get-contents.php http://ca2.php.net/manual/en/function.str-replace.php

(Ben aslında bu hiç denemedim ve PDF bir ikili biçimi olduğu bazı konularda çalıştırmak olabilir, ama teoride çalışması gerekir ...)