SORU
13 Ocak 2011, PERŞEMBE


Bir PDF kullanıcı PHP/Perl ile tarayıcıda dosyaları göster

Kullanıcılar PDF dosyaları göstermek istiyorum. Cgı pdf göstermek için kullanıyorum sebebi bu pdf için tıklama izlemek istiyorum, ve pelerin kaydedilen pdf asıl yeri.

Kullanıcılar için iletişim Haritayı kaydetmek ve bir pdf oluşturma, kullanıcılara dosyaları gösterme nasıl internette aradım ve buldum sadece.

İçin istediğim bugösterdosyaları benim pdf, kullanıcılaroluşturmak veya indirmek değilpdf. Resmi php belgelerine form var:

<?php
header('Content-type: application/pdf');
readfile('the.pdf');
?>

Ayrıca benim google-Arama-Sonucu perl kod:

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

eğer ruby bunu yaparsanız, lütfen bana söyle. Ama eğer benim sunucu destek raylar emin değilim.

Eğer benim kod çok bu sorunu nasıl pdf işleme hakkında hiçbir şey bilmiyorum bu yana pdf göstermek için bu yöntemi uzak ve eğer özür dilerim.

Kullanıcılar Adobe Reader varsayalım sağlar eklentisi. Nasıl sorunu çözmek için?

edit: Düz pdf dosyası göstermek istiyorum. Benim birincil amaç: pdf dosyalarımı parça ve süslü bir URL kullanın.

editBurada ana benim php kodu:

<?php
$file='/files/the.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="the.pdf"');
@readfile($file);
?>

editŞimdi kod çalışıyor. Ama yükleme ilerleme çubuğu (Adobe Reader X eklenti) görünür değil. Neden? Biri bana yardım edebilir mi? İşte benim asıl kod:

<?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);
?>

editTüm sorunlarımı çözdü. İşte final kodu:

<?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! :)

CEVAP
13 Ocak 2011, PERŞEMBE


PDF indirme zorlamak yerine tarayıcıda görüntülemek için istiyorsun sanırım. Eğer durum buysa, inline değeri Content-Disposition Başlığı ayarlamayı deneyin.

Ayrıca bu da tarayıcı ayarları tarafından etkilenen olacağını unutmayın - bazı tarayıcılar için yapılandırılmış olabilirher zamanPDF dosyalarını indirmek ya da farklı bir uygulama (örneğin Adobe Reader) açın

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8bitdigitaltv

    8bitdigitalt

    31 AĞUSTOS 2011
  • gadgetgal38

    gadgetgal38

    9 HAZİRAN 2009
  • Hudson Music

    Hudson Music

    13 Mart 2007