[wordpress] IE krijgt extra errormelding bij genereren PDF*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • VAnTurenhout
  • Registratie: September 2004
  • Laatst online: 09-02-2024
ik heb een wordpress site. Hier kan een klant een formulier invullen, waarna hij doorgestuurd wordt naar een pagina (php) die een PDF genereert, met bijvoorbeeld de datum van vandaag erop.

Het principe werkt:

worpress-page - contact-form-7 form - On_sent_ok=location.replace('www.website.nl/paginadiepdfgenereert.php')

Maar, bij de On_Sent_Ok actie verschijnt er een mooie balk in mijn IE dat ik op moet letten met het downloaden van een file!
Dan kan ik het form nog eens submitten, en dan werkt het wel.

Ik wil die waarschuwing niet! Hoe kom ik daar vanaf?

Acties:
  • 0 Henk 'm!

  • dev10
  • Registratie: April 2005
  • Laatst online: 17-09 09:37
Dit zit hem waarschijnlijk in de pagina die de PDF genereert. Daar zul je de headers aan moeten passen om dat goed werkend te krijgen.

Iets als dit zal wel helpen:

PHP:
1
header("Content-Type: application/force-download");


Verder had je dit makkelijk kunnen vinden met Google. (Ik kon dat tenminste een paar jaar geleden met een zelfde vraagstuk wel. :+)

offtopic:
Het is ook niet geheel onverstandig om die doorverwijzing naar de pagina die de PDF genereert te doen met een HTTP 301 header, want hoe ga je mensen die JavaScript uit hebben staan die PDF voorschotelen?

Acties:
  • 0 Henk 'm!

  • VAnTurenhout
  • Registratie: September 2004
  • Laatst online: 09-02-2024
Hmmm, ik dacht toch echt wel goed gezocht te hebben.. magoed. Je moet maar net weten hoe het precies heet wat je zoekt.

Maar nee, helaas. ook dit werkt niet. maar ik zal het wel verkeerd doen. Ben ook geen PHP ontwikkelaar eigenlijk.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 

require_once(dirname(__FILE__)."/lib/fpdf/fpdf.php");
require_once(dirname(__FILE__)."/lib/fpdi/fpdi.php");

$filename = "origineel_template.pdf";

$today = getdate();
$name = "Dit bestand is gedownload op:";
$pdf = new FPDI();
$pdf->AddPage();
$pdf->setSourceFile($filename);
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx);
$pdf->SetFont('Arial','I',8);
$pdf->SetXY(110, 99);
$Datum = $today['mday'] + '-' + $today['mon'] + '-' + $today['year'];
$pdf->Write(0, $name . $today['mday'] . '-' . $today['mon'] . '-' . $today['year'] );
header("Content-Type: application/force-download"); 
$pdf->Output('NieuwPDF.pdf', 'D');
?>


Code kan ook tussen [code=php][/] tags :)

Misschien dat bovenstaande niet helemaal werkt, heb er wat regels uitgesloopt, maar het idee moet duidelijk zijn.

Over je 301: juist, dat is een goeie tip.

[ Voor 2% gewijzigd door BtM909 op 07-04-2010 14:02 ]


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Gaat over PHP, dus een klein tikje naar de buren

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

Verwijderd

Probeer eens wat van deze regels:

PHP:
1
2
3
4
5
6
7
8
9
session_cache_limiter('none');  // Maakt het mogelijk ook via IE te downloaden?

$mime = 'application/pdf'  /*mime_content_type($file)*/ ;
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Description: File Transfer');
header('Content-Type: '.$mime.' / Force-download');
header('Content-Disposition: attachment; filename='.$file);
header('Content-Transfer-Encoding: binary');

[ Voor 6% gewijzigd door Verwijderd op 07-04-2010 14:19 ]


Acties:
  • 0 Henk 'm!

  • VAnTurenhout
  • Registratie: September 2004
  • Laatst online: 09-02-2024
Ik kwam erachter dat in de laatste regel

PHP:
1
$pdf->Output('NieuwPDF.pdf', 'D');

de parameter "D" staat voor download en dat daar ook een "I" voor inline browsen kan staan. Dus om snel een oplossing te hebben heb ik dat maar gedaan. (niet netjes, ik hou er niet van als een nieuwe pagina de website laat verdwijnen, maar nu even beter dan niets)

Ik ga later de bovenstaande oplossingen proberen.

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 03-09 22:58

igmar

ISO20022

VAnTurenhout schreef op dinsdag 06 april 2010 @ 21:20:
Ik wil die waarschuwing niet! Hoe kom ik daar vanaf?
Door niet zonder dat de gebruiker daar zelf voor wat moet doen 'm een download aanbiedt. Browsers vinden dat nu eenmaal niet leuk tegenwoordig. En nee, uitzetten kan niet, dan had die waarschuwing namelijk geen zin gehad.
Pagina: 1