PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   FDF Problem fdf_set_file (http://www.selfphp.de/forum/showthread.php?t=22514)

pasko 02.12.2009 14:08:16

FDF Problem fdf_set_file
 
Hallo Zusammen

Bei uns in der Firma benötigen wir teilweise die Arbeit mit FDF-Files, damit wir per PHP dynamisch Daten einfügen können.

Nun sind wir in der Entwicklung auf folgendes Problem gestossen: Bei fdf_set_file gibt man ja den Pfad zum Template-PDF-File an. Dies hat bisher eigentlich auch alles perfekt funktioniert wir haben da immer den Pfad als Webpfad angegeben, also "http://.../template.pdf/".

Nun ist aber folgende Veränderung aufgetreten: Im Adobe Reader 9 wurd unter Edit --> Preferences die Einstellung "Display PDF in Browser" ausgeschaltet, also, dass die PDF-Files quasi im lokal angezeigt werden und nicht mehr im Browser. (Siehe Bild)

Nun ist das Problem entstanden, dass bei fdf_set_file nicht mehr der http://-Pfad angegeben werden kann, sondern ein Share-Pfad angegeben werden muss, damit das Öffnen funktioniert. Wenn dieser Pfad als Share-Pfad angegeben wird \\computername\... besteht das Problem, dass es nun nicht mehr im Browser angezeigt werden kann.

Gibt es da irgendwie eine Universallösung bei der Pfadangabe oder kann eventuell das FDF per PHP als PDF gespeichert werden, dass nicht mehr auf ein Template verlinkt wird oder so?

Ich hoffe ihr könnt mir da weiterhelfen.

Mit freundlichen Grüssen
Pascal Graf

Xor 02.12.2009 14:40:34

AW: FDF Problem fdf_set_file
 
Hallo pasko,

Zitat:

[...] damit wir per PHP dynamisch Daten einfügen können.
Könnte man das nicht optisch schöner mit FPDF/FPDI lösen?

Zitat:

[...] "Display PDF in Browser" ausgeschaltet [...] besteht das Problem, dass es nun nicht mehr im Browser angezeigt werden kann.
Nja, wenn mans ausschaltet wird mans danach nicht mehr anzeigen können (also im Browser).

Die PHP-Funktion kooperiert ja, soweit ich das verstanden habe, nur mit den Formularfeldern. Übernimmt also sonstige Eigenschaften des PDF's. Warum nicht wieder die Display-Option einschalten?

Mfg ExclusiveOr

pasko 02.12.2009 16:13:57

AW: FDF Problem fdf_set_file
 
Zitat:

Könnte man das nicht optisch schöner mit FPDF/FPDI lösen?
Kenn ich nicht, werd ich mir mal noch anschauen, was ist das?

Zitat:

Nja, wenn mans ausschaltet wird mans danach nicht mehr anzeigen können (also im Browser).
Doch, es eben so, dass diverse User dieses Option eingeschaltet haben und diverse nicht, das Formular aber für alle funktionieren muss. Ist so Vorgabe von einer höheren Macht der Firma, da kann ich nichts machen.

Xor 02.12.2009 16:26:01

AW: FDF Problem fdf_set_file
 
Was wollt ihr mit PHP eigentlich befüllen? Wollt ihr das Formular automatisch generieren und dann dementsprechend in das PDF "einpacken"?

Die Option, "nicht im Browser öffnen" bewirkt nur, dass das gewünschte PDF in einem eigenen Acrobat-Fenster geöffnet wird (also auch nicht in einen Frame eingebettet werden kann)

Diese Option ist jedoch benutzerspezifisch und kann (wie auch alle anderen benutzerspezifischen Optionen zum Glück) nicht durch eine Webapplikation geändert werden.

Wollt ihr also dem Benutzer ein PDF mit Formular oder ein PDF mit fixem Content anbieten?

Um das Problem zu lösen muss man es erst mal verstehen...sorry...

Mfg

pasko 04.12.2009 08:26:57

AW: FDF Problem fdf_set_file
 
Mit PHP wird das PDF-Template abgefüllt und dann als .fdf-file gespeichert, eingebunden wird dazu das fdf-Modul (http://php.net/manual/de/book.fdf.php).

Folgender Code wird benutzt:

Code:

$fdf = fdf_create();

// Hier wird per PHP das Feld "User-ID" abgefüllt, nachdem das Formular abgesendet wurde
fdf_set_value($fdf, "User-ID", $HTTP_POST_VARS["userid"], 0);

$fdf_file_name = "d:\\temp\\test.fdf";

// Hier wird das Template gesetzt
fdf_set_file($fdf, "http://servername/pfad/template.pdf");

// Hier wird das .fdf-File gespeichert
fdf_save($fdf, $fdf_file_name);
fdf_close($fdf);

// Nachdem das .fdf-File gespeichert wurde, wird es hier wieder geöffnet
header("Content-type: application/vnd.fdf");
$fp = fopen($fdf_file_name, "r");
fpassthru($fp);
fclose($fp);


So nun zu dem Problem, wie du siehst wurde oben im Code mit fdf_set_file das Template "template.pdf" angehängt. Dies wurde per Web-Pfad (http://) angehängt. Das funktioniert ja auch aber nur wenn die Option PDF im Browser anzeigen ausgewählt wurde. Wenen diese nicht ausgewählt ist, funktioniert es nicht mehr, dann müsste man einen Share-Pfad angeben, aber dann funktioniert es ja andersrum nicht mehr.

Meine Frage:
Gibt es da irgendwie einen Universalpfad oder muss das ganz anders gelöst werden?

Hoffe das war nun verständlich genug.

Grüsse
Pasko

Xor 12.01.2010 08:52:57

AW: FDF Problem fdf_set_file
 
Vielleicht hilft es dir wenn du einfach eine alternative Load-Methode zur Verfügung stellst, etwa so:
PHP-Code:

// Hier wird das Template gesetzt
if(!@fdf_set_file($fdf"http://-Pfad"))
{
  if(!@
fdf_set_file($fdf"Share-Pfad"))
  {
    echo 
"fdf_set_file error";
    return -
1;
  }




Alle Zeitangaben in WEZ +2. Es ist jetzt 13:21:50 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.