Fragensteller
Vorgabe für PDF-Dateiname

Frage
-
Hallo,
bei meiner SDI-Anwendung wird beim Drucken mit FreePDF der PDF-Dateiname inklusive Dateierweiterung vorgegeben:
Bei Word wird die Dateierweiterung beim PDF-Dateinamen nicht vorgegeben:
Wie kann ich es erreichen, dass in meiner SDI-Anwendung beim Drucken der PDF-Dateiname ohne Dateierweiterung vorgegeben wird?
Danke im Voraus und viele Grüße
Bernd
Alle Antworten
-
Hallo Bernd,
evtl. hilft dir das weiter: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/8662e1a7-c2a6-4420-beeb-0d1d4b6585d5/cprintinfo-and-pdfcreator-the-title?forum=vcgeneral
-
Hallo powerzone3000,
danke für Deine Antwort.
ich habe heraus gefunden, dass in der Standard-Funktion void CView::OnFilePrint() der Titel mit Dateierweiterung hierdurch übernommen wird:
docInfo.lpszDocName = strTitle;
Danach lande ich in meiner Funktion, die im Moment so aussieht:
void CMeinView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// ZU ERLEDIGEN: Zusätzliche Initialisierung vor dem Drucken hier einfügen
}Nun würde ich gerne in meiner Funktion CMeinView::OnBeginPrinting den Wert für docInfo.lpszDocName aktualisieren.
Wie kann ich in meiner Funktion CMeinView::OnBeginPrinting auf den Wert von docInfo.lpszDocName zugreifen?
Danke im Voraus und viele Grüße
Bernd
-
Hallo,
ich habe nun eine Lösung gefunden, indem ich die Funktion OnFilePrint überschreibe. Allerdings vermute ich, dass man es auch noch besser lösen kann. So sieht meine neue Funktion aus:
void CMeinView::OnFilePrint()
{
// Den aktuellen Titel ermitteln
CMainFrame* pMF = (CMainFrame*) AfxGetApp()->m_pMainWnd;
CMeinDoc* psbrdAktDok = (CMeinDoc*) pMF->GetActiveDocument();
CString strTitelMitErw = psbrdAktDok->GetTitle();// Den neuen Titel ermitteln und setzen
CString strTitelOhneErw = strTitelMitErw;
LPTSTR lpTitelOhneErw = strTitelOhneErw.GetBuffer(MAX_PATH);
PathRemoveExtension(lpTitelOhneErw);
strTitelOhneErw.ReleaseBuffer();
psbrdAktDok->SetTitle(strTitelOhneErw);// Die Funktion der Basisklasse ausführen
CScrollView::OnFilePrint();// Den ursprünglichen Titel wieder setzen
psbrdAktDok->SetTitle(strTitelMitErw);
}Viele Grüße
Bernd
- Bearbeitet Bernd Föry Donnerstag, 7. August 2014 09:08