Kullanıcılarıma PDF dosyalarını göstermek istiyorum. Pdf'i göstermek için cgi'yi kullanmamın nedeni, pdf için tıklamaları izlemek ve kaydedilen pdf'nin gerçek konumunu gizlemek istememdir.
İnternette arama yapıyorum ve yalnızca kullanıcılara kaydetme iletişim kutusunu nasıl göstereceğimi ve bir pdf oluşturmayı öğrendim, dosyaları kullanıcılara göstermiyor.
İstediğim şey , kullanıcılara pdf dosyalarımı göstermek , pdf'yi oluşturmak veya indirmek değil . İşte resmi php belgelerinden elde ettiğim şey:
<?php
header('Content-type: application/pdf');
readfile('the.pdf');
?>
Ayrıca google arama sonucu perl kodum:
open(PDF, "the.pdf") or die "could not open PDF [$!]";
binmode PDF;
my $output = do { local $/; <PDF> };
close (PDF);
print "Content-Type: application/pdf\n";
print "Content-Length: " .length($output) . "\n\n";
print $output
Ruby'de yaparsan, lütfen bana söyle. Ancak sunucumun rayları destekleyip desteklemediğinden emin değilim.
Pdf işleme ve bu sorunun nasıl uygulanacağı hakkında hiçbir şey bilmediğim için kodum pdf'yi gösterme yönteminden çok uzaksa özür dilerim.
Kullanıcıların Adobe Reader eklentisine sahip olduğunu varsayalım. Peki sorunumu nasıl çözebilirim?
düzenleme : Düz pdf dosyası göstermek istiyorum. Birincil amacım: pdf dosyalarımı takip etmek ve bazı süslü url'ler kullanmak.
düzenleme : İşte ana php kodum:
<?php
$file='/files/the.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="the.pdf"');
@readfile($file);
?>
edit : Şimdi kod çalışıyor. Ancak yükleme ilerleme çubuğu (Adobe Reader X eklentisinde) görünmüyor. Neden? Biri bana yardım edebilir mi? İşte ana kodum:
<?php
$file='./files/the.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="the.pdf"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
@readfile($file);
?>
edit : Tüm sorunlarım çözüldü. İşte son kod:
<?php
$file = './path/to/the.pdf';
$filename = 'Custom file name for the.pdf'; /* Note: Always use .pdf at the end. */
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');
@readfile($file);
?>
Teşekkürler! :)