Heim > Backend-Entwicklung > PHP-Tutorial > Wie zeige ich PDFs in Browsern mit Klickverfolgung und Standortverbergung mit PHP oder Perl an?

Wie zeige ich PDFs in Browsern mit Klickverfolgung und Standortverbergung mit PHP oder Perl an?

Susan Sarandon
Freigeben: 2024-10-19 18:13:01
Original
525 Leute haben es durchsucht

How to Display PDFs in Browsers with Click Tracking and Location Concealment Using PHP or Perl?

Anzeigen von PDF-Dateien im Browser von Benutzern mit PHP oder Perl

Problem:Benutzer benötigen die Möglichkeit, PDF anzuzeigen Dateien in ihren Browsern mit der zusätzlichen Funktionalität, Klicks zu verfolgen und den tatsächlichen Speicherort der PDF-Datei zu verbergen.

Lösung:

Sowohl PHP als auch Perl bieten Methoden zum direkten Rendern von PDF-Dateien in einem Browser. Hier sind die grundlegenden Schritte:

PHP:

<code class="php">header('Content-type: application/pdf');
readfile('the.pdf');</code>
Nach dem Login kopieren

Perl:

<code class="perl">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</code>
Nach dem Login kopieren

Zusätzliche Überlegungen:

  • Um das PDF in die Seite einzubetten, setzen Sie den Content-Disposition-Header auf „Inline“. filename="the.pdf".
  • Stellen Sie sicher, dass Benutzer das erforderliche PDF-Reader-Plugin installiert haben (z. B. Adobe Reader).
  • Um den Ladefortschrittsbalken zu deaktivieren, deaktivieren Sie die Akzeptanzbereiche: Bytes-Header.

Beispielcode:

PHP (vollständig):

<code class="php">$file = './path/to/the.pdf';
$filename = 'Custom file name for the.pdf';

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);</code>
Nach dem Login kopieren

Perl (vollständig):

<code class="perl">use strict;
use warnings;

my $file = 'the.pdf';
my $filename = 'Custom file name for the.pdf';

open(PDF, "<$file>") or die "Could not open PDF: $!";
binmode PDF;

my $size = -s PDF;

print "Content-type: application/pdf\n";
print "Content-Disposition: inline; filename=\"$filename\"\n";
print "Content-Transfer-Encoding: binary\n";
print "Content-Length: $size\n\n";

print while <PDF>;</code>
Nach dem Login kopieren

Hinweis: Browsereinstellungen können diese Techniken außer Kraft setzen und das Herunterladen oder Öffnen der PDF-Datei in einer externen Anwendung erzwingen.

Das obige ist der detaillierte Inhalt vonWie zeige ich PDFs in Browsern mit Klickverfolgung und Standortverbergung mit PHP oder Perl an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage