मैं अपने उपयोगकर्ताओं को पीडीएफ फाइलें दिखाना चाहता हूं। कारण है कि मैं पीडीएफ दिखाने के लिए सीजीआई का उपयोग करता हूं क्या मैं पीडीएफ के लिए क्लिकों को ट्रैक करना चाहता हूं, और सहेजे गए पीडीएफ के वास्तविक स्थान को क्लॉक करना चाहता हूं।
मैं इंटरनेट पर खोज कर रहा हूं और केवल पाया गया कि उपयोगकर्ताओं को सेव डायलॉग कैसे दिखाएं और एक पीडीएफ बनाएं, उपयोगकर्ताओं को फाइलें न दिखाएं।
जो मैं चाहता था, वह उपयोगकर्ताओं को मेरी पीडीएफ फाइलें दिखाने के लिए है, पीडीएफ बनाने या डाउनलोड करने के लिए नहीं । यहाँ मुझे आधिकारिक php प्रलेखन मिला है:
<?php
header('Content-type: application/pdf');
readfile('the.pdf');
?>
इसके अलावा मेरा Google-खोज-परिणाम पर्ल कोड:
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
यदि आप इसे रूबी पर करते हैं, तो कृपया मुझे कहें। लेकिन मुझे यकीन नहीं है कि अगर मेरा सर्वर रेल का समर्थन करता है।
क्षमा करें यदि मेरा कोड पीडीएफ को दिखाने के लिए विधि से बहुत दूर है, क्योंकि मुझे पीडीएफ प्रसंस्करण के बारे में कुछ भी नहीं पता है और इस समस्या को कैसे लागू किया जाए।
यह मान लें कि उपयोगकर्ताओं के पास Adobe Reader प्लग-इन है। तो, मेरी समस्या को कैसे ठीक करें?
संपादित करें : मैं सादे पीडीएफ फाइल दिखाना चाहता हूं। मेरा प्राथमिक उद्देश्य: मेरी पीडीएफ फाइलों को ट्रैक करें और कुछ फैंसी यूआरएल का उपयोग करें।
संपादित करें : यहाँ मेरा मुख्य php कोड है:
<?php
$file='/files/the.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="the.pdf"');
@readfile($file);
?>
संपादित करें : अब कोड काम कर रहा है। लेकिन लोडिंग प्रगति बार (एडोब रीडर एक्स प्लगइन पर) दिखाई नहीं देता है। क्यों? कोई मुझे मदद कर सकता है? यहाँ मेरा मुख्य कोड है:
<?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);
?>
संपादित करें : मेरी सभी समस्याओं का हल। यहाँ अंतिम कोड है:
<?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);
?>
धन्यवाद! :)