Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  Dokumentname bei PDF-Druck

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Dokumentname bei PDF-Druck (333 mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 18. Feb. 2021 14:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


PDF-Druckausgabe.png

 
Neue Denksportaufgabe:

Ich habe 2 ähnliche Programme, beide besitzen eine RichTextbox (RichtextboxEx.RichTextBoxEx) mit geladenem Dokument.
Beide haben eine Druckfunktion, mit der das RichTextBoxEx.Document gedruckt oder wahlweise mit einem PDF-Drucker als PDF gespeichert werden kann, z.B. "Microsoft Print To PDF".

In beiden Programmen verwende ich 1:1 denselben Code zur Ausgabe (Variablen- und Objektnamen unterscheiden sich, aber Namen sind Schall und Rauch).
In dem Code wird bei PDF-Erstellung dem Dokument ein Namen zugewiesen, der dann im Speichern-Unter-Dialog als Dateinamen vorgegeben wird. Oder werden soll.
Und da liegt das Problem: Im einen Programm funktioniert das, im anderen nicht. Und ich finde keinen Unterschied 

Zum Beweis mal beide Codes nebeinander kopiert:

und hier nochmal einer im Klartext (hier der nicht funktionierende)

Code:

    Sub Output(Optional DoCreatePDF As Boolean = False)
        Dim oldPrintername As String = ""
        If PDFPrintername = "" And DoCreatePDF Then Exit Sub

        'Drucken oder PDF erstellen
        If DoCreatePDF Then
            'PDF:
            SetDocumentName()
            With Mainform.PrintRTFDocument
                oldPrintername = .PrinterSettings.PrinterName
                .PrinterSettings.PrinterName = PDFPrintername
            End With
        Else
            'Drucken mit Druckdialog:
            With Mainform.PrintDialog1
                .PrinterSettings = Mainform.PrintRTFDocument.PrinterSettings
                If .ShowDialog() = Windows.Forms.DialogResult.OK Then
                    ' Einstellungen von Dialog an PringDocument übergeben
                    Mainform.PrintRTFDocument.PrinterSettings = .PrinterSettings
                Else
                    Exit Sub
                End If
            End With
        End If

        'Sowohl beim Drucken als auch bei PDF:
        With Mainform.PrintRTFDocument.DefaultPageSettings.Margins()
            .Bottom = 20
            .Top = 20
            .Left = 70
            .Right = 50
        End With
        iPages = 0
        initPrint = True
        'Druck:
        Mainform.PrintRTFDocument.Print()

        If DoCreatePDF Then
            'Druckername wieder herstellen
            Mainform.PrintRTFDocument.PrinterSettings.PrinterName = oldPrintername
        End If
    End Sub

    Public Sub SetDocumentName()
        With Mainform.PrintRTFDocument
            .DocumentName = "Bremsschema"
            If Mainform.tbSchemanummer.Text <> "" Then
                .DocumentName = Mainform.tbSchemanummer.Text
            End If
            'If UseLanguageSuffix Then
            '    .DocumentName = .DocumentName & "_" & Mainform.lbFormlanguage.Text
            'End If
        End With

    End Sub



Ich habs natürlich debuggt, bei SetDocumentName wird auf jeden Fall ein Name gesetzt.

Ich bin mit meinem Latein am Ende  , aber vielleicht fällt ja euch Experten noch was ein?

Vielen Dank schon mal fürs Nachdenken 

------------------
Klaus

http://www.alko-tech.com | mein Gästebuch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz