Sobald eine mit Visulaforce generierte PDF-Datei über die Standard Schaltfläche gespeichert werden soll, stellt man fest, dass der Dateiname automatisch vom System vergeben wurde, wie zum Beispiel "document.pdf".
Leider bietet Salesforce keine entsprechende apex:page Eigenschaft für den Dateinamen.
Der Name lässt sich allerdings über eine Header-Eigenschaft definieren.
Diese wird wiederum von Controller gesetzt. Ich habe eine neue Funktion geschrieben, die von der Visualforce Seite aufgerufen wird. Genauso gut kann die Eigenschaft vom Constructor gesetzt werden.
<apex:page controller="anyController" showheader="false" applyBodyTag="false" applyHtmlTag="false" renderAs="PDF" action="{!setFileName}">
Leider bietet Salesforce keine entsprechende apex:page Eigenschaft für den Dateinamen.
Der Name lässt sich allerdings über eine Header-Eigenschaft definieren.
Diese wird wiederum von Controller gesetzt. Ich habe eine neue Funktion geschrieben, die von der Visualforce Seite aufgerufen wird. Genauso gut kann die Eigenschaft vom Constructor gesetzt werden.
<apex:page controller="anyController" showheader="false" applyBodyTag="false" applyHtmlTag="false" renderAs="PDF" action="{!setFileName}">
public void setFileName(){ String pdfName = 'Angebot_' + Date.now().format(); Apexpages.currentPage().getHeaders().put( 'content-disposition', 'inline; filename=' + pdfName ); }
Kommentare
Kommentar veröffentlichen