FAQ: Standard-Dateinamen beim Drucken auf PDF-Drucker oder andere virtuelle Drucker vorgeben

Click here for the English article.

Einleitung

Beim Vorgeben von Standard-Dateinamen beim Drucken auf PDF-Drucker oder andere virtuelle Drucker müssen zwei Fälle unterschieden werden.

  1. Beim Einsatz der List & Label-Exportfunktionen (z. B. PDF-Export) können Dateiname und Speicherort vollständig gesteuert werden.

  2. Beim normalen Druckvorgang über den Windows-Druckdialog auf virtuelle Drucker wie

    • Microsoft Print to PDF
    • Adobe PDF
    • OneNote
    • Microsoft XPS Document Writer
    • PDF-XChange
    • andere PDF-Druckertreiber

    kann List & Label den vorgeschlagenen Dateinamen hingegen nicht zuverlässig beeinflussen. Die Ursache liegt nicht in List & Label selbst, sondern in den jeweiligen Druckertreibern und den Einschränkungen der Windows-Druckschnittstellen.


Häufige Fragen / FAQ

Nachfolgend findest du einige Fragen, die in diesem Zusammenhang häufig auftreten.


Kann List & Label beim Drucken auf einen PDF-Drucker einen Standard-Dateinamen vorgeben?

Nein, zumindest nicht auf zuverlässige und herstellerunabhängige Weise.

Beim normalen Druckvorgang kommuniziert List & Label ausschließlich über die standardisierten Windows-Druckschnittstellen mit dem Druckertreiber. Diese Schnittstellen bieten keine allgemeingültige Möglichkeit, den Dateinamen eines virtuellen Druckers zu steuern.

Jeder Druckertreiber entscheidet selbst, ob und wie ein vorgeschlagener Dateiname verarbeitet wird.


Warum funktioniert die Dateinamensvorgabe beim PDF-Export, aber nicht bei “Print to PDF”?

Hierbei handelt es sich um zwei unterschiedliche Technologien.

PDF-Export

  • Verwendet die interne Export-Engine von List & Label - vollkommen unabhängig von einem virtuellen PDF-Druckertreiber.
  • Dateiname und Speicherort können über Export-Optionen direkt gesteuert werden.
  • Das Verhalten ist dokumentiert und vollständig unterstützt.
  • Das Ergebnis ist auf allen Systemen konsistent.

Print to PDF

  • Verwendet die List & Label Druck-Funktion auf einen externen Druckertreiber - der interne PDF-Export wird nicht verwendet/berücksichtigt.
  • Die Dateinamenslogik wird vollständig vom jeweiligen Treiber bestimmt.
  • Das Verhalten unterscheidet sich je nach Hersteller, Treiberversion und Windows-Version.

Daher kann List & Label Dateinamen bei direktem eigenen PDF-Exporten zuverlässig steuern, beim Drucken über andere virtuelle PDF-Drucker jedoch nicht.


Welche Möglichkeiten bietet List & Label beim Drucken?

Es existieren einige Optionen mit Einschränkungen.

LL_PRNOPTSTR_PRINTDST_FILENAME

Diese Option wirkt sich ausschließlich für Print-to-File (PRN) Szenarien aus.

Sie ist nicht dafür vorgesehen, Dateinamen von PDF-Druckern wie Microsoft Print to PDF, Adobe PDF, OneNote oder ähnlichen virtuellen Druckern zu beeinflussen.

Titel des Druckauftrags

Einige Druckertreiber verwenden den Titel des Druckauftrags als Vorschlag für den Dateinamen.

Beispielsweise kann PDF-XChange Lite den über die native API in LlPrintWithBoxStart(…) übergebenen Titel als Standard-Dateinamen übernehmen.

Die Übergabe des Titels unter .NET funktioniert über das DefinePrintOptions-Ereignis und LlPrintOptionString.PrintJobname.

Dieses Verhalten ist jedoch vollständig treiberabhängig und kann nicht garantiert werden. Viele andere Druckertreiber ignorieren diese Information vollständig.


Warum unterstützt List & Label nicht gezielt bekannte PDF-Drucker?

Es existiert kein allgemeiner Standard für die Dateinamenssteuerung virtueller Drucker.

Jeder Hersteller verwendet eigene Mechanismen. Diese unterscheiden sich teilweise sogar zwischen verschiedenen Versionen desselben Druckertreibers.

Eine Implementierung spezieller Workarounds für einzelne Treiber würde zu inkonsistentem Verhalten und dauerhaftem Wartungsaufwand führen.


Was ist mit Microsoft Print to PDF?

Windows stellt Druckertreibern Informationen wie den Dokumentnamen (lpszDocName) zur Verfügung.

Einige virtuelle Drucker können diese Information als Vorschlag für den Dateinamen verwenden. Dabei gibt es jedoch mehrere Einschränkungen:

  • Es gibt keine Garantie, dass ein Treiber diese Information überhaupt verwendet.
  • Das Verhalten unterscheidet sich je nach Treiber und Windows-Version.
  • Manche Treiber speichern die Datei direkt, sobald ein Dateiname vorgegeben wird.
  • In diesem Fall erscheint möglicherweise kein „Speichern unter“-Dialog mehr.
  • Die Anwendung erhält häufig keine Information über den tatsächlichen Speicherort.
  • Die Anwendung kann oft nicht feststellen, ob der Benutzer den Vorgang abgebrochen hat.

Da dieses Verhalten weder einheitlich noch vorhersagbar ist, verwendet List & Label diese Mechanismen nicht zur allgemeinen Dateinamenssteuerung.


Kann List & Label den Dateinamen für OneNote vorbelegen?

Nein. Uns ist keine unterstützte Schnittstelle bekannt, über die Anwendungen den Dateinamen für OneNote-Druckaufträge vorbelegen können.

Keine der verfügbaren List & Label Optionen kann das Dateinamensverhalten von OneNote beeinflussen.


Kann List & Label den tatsächlich gespeicherten Dateinamen oder Speicherort ermitteln?

Im Allgemeinen nein. Wenn ein virtueller Drucker einen eigenen „Speichern unter“-Dialog anzeigt, wird dieser vollständig vom Druckertreiber verwaltet.

Der Treiber stellt normalerweise keine standardisierte Möglichkeit bereit, um anschließend folgende Informationen an die Anwendung zurückzugeben:

  • den endgültigen Dateinamen
  • den gewählten Speicherort
  • den Abbruch des Speichervorgangs

Welche Alternative wird empfohlen?

Für…

  • aussagekräftige Standard-Dateinamen
  • Kontrolle über den Speicherort
  • konsistentes Verhalten auf allen Systemen
  • Kenntnis über die tatsächlich erzeugte Datei

…sollte statt eines virtuellen PDF-Druckers die integrierte Exportfunktion von List & Label verwendet werden.


Technischer Hintergrund

Die Windows-Druckarchitektur wurde ursprünglich für physische Drucker entwickelt. Dateinamen spielten dabei keine Rolle. Daher existiert bis heute keine allgemeine Windows-API, über die Anwendungen Dateinamen für virtuelle Druckertreiber standardisiert steuern könnten.

Virtuelle PDF-Drucker implementieren diese Funktionalität jeweils selbst. Manche verwenden den Dokumenttitel als Vorschlag, andere ignorieren ihn. Einige zeigen einen Speicherdialog an, andere speichern direkt.

Da kein gemeinsamer Standard existiert, kann List & Label keine zuverlässige und treiberübergreifende Lösung zur Vorgabe von Dateinamen im normalen Druckworkflow anbieten.