Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Aus VB.NET ein Metafile per PDF Creator als eps Datei exportieren

Frage Entwicklung Visual Studio

Mitglied: florengray

florengray (Level 1) - Jetzt verbinden

02.04.2013, aktualisiert 13:27 Uhr, 1896 Aufrufe, 1 Kommentar

Hallo!

Mein Ziel ist es, ein Metafile als eps Grafik abspeichern zu können. Da VB.NET leider keine eps Grafiken abspeichern kann, wollte ich es über den PDF Creator lösen. Ich habe mich ersteinmal am Abspeichern als ps versucht, aber da wird das Metafile mal zu klein, mal viel zu groß und einfach mal "hochkant" abgespeichert ohne das ich das wollte.
Ich denke es liegt an den Einstellungen, die ich noch nicht so recht verstehe. Darum frage ich euch in der Hoffnung auf Erleuchtung.

Ersteinmal mein Test-Code:

01.
Private WithEvents PrintDocument1 As New Printing.PrintDocument 
02.
 
03.
Private Sub Print_to_ps() 
04.
 
05.
        If DC.Export_Metafile Is Nothing Then Exit Sub 
06.
 
07.
        With PrintDocument1 
08.
            ' Dokument-Title 
09.
            .DocumentName = "Print_DC" 
10.
 
11.
            .PrinterSettings.PrinterName = "PDFCreator" 
12.
            .PrinterSettings.PrintToFile = True 
13.
            .PrinterSettings.PrintFileName = "F:\Textexport.ps" 
14.
 
15.
            ' Ausdruck starten 
16.
            .Print() 
17.
        End With 
18.
 
19.
End Sub 
20.
 
21.
Private Sub Change_Pagesettings(ByVal sender As Object, ByVal e As Printing.QueryPageSettingsEventArgs) Handles PrintDocument1.QueryPageSettings 
22.
 
23.
        With e.PageSettings 
24.
            .PaperSize = New Printing.PaperSize With {.Height = 100 * DC.Export_Metafile.Height / DC.Export_Metafile.VerticalResolution, .Width = 100 * DC.Export_Metafile.Width / DC.Export_Metafile.HorizontalResolution, .RawKind = 0, .PaperName = "DC_Export"} 
25.
 
26.
            .PrinterResolution = New Printing.PrinterResolution With {.X = DC.Export_Metafile.HorizontalResolution, .Y = DC.Export_Metafile.VerticalResolution} 
27.
            .Margins = New Printing.Margins With {.Bottom = 0, .Left = 0, .Right = 0, .Top = 0} 
28.
             
29.
            .PrinterSettings.DefaultPageSettings.Margins = .Margins 
30.
            .PrinterSettings.DefaultPageSettings.PrinterResolution = .PrinterResolution 
31.
            .PrinterSettings.DefaultPageSettings.PaperSize = .PaperSize 
32.
        End With 
33.
 
34.
    End Sub 
35.
 
36.
Private Sub Printing(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage 
37.
 
38.
        Dim gr As Graphics = e.Graphics 
39.
 
40.
        gr.PageUnit = GraphicsUnit.Inch 
41.
         
42.
        ' Rechteck für den Ausdruck festlegen 
43.
        Dim Area As Rectangle = New Rectangle(0, 0, DC.Export_Metafile.Width / DC.Export_Metafile.HorizontalResolution, DC.Export_Metafile.Height / DC.Export_Metafile.VerticalResolution) 
44.
 
45.
        ' Bild im angegebenen Rechteck drucken 
46.
        gr.DrawImage(DC.Export_Metafile, Area) 
47.
 
48.
        gr.Dispose() 
49.
 
50.
End Sub
Ich erzeuge in meinem Programm ein Metafile. Das ist dieses
01.
 DC.Export_Metafile 
.
Größe und Breite wurden berechnet, die DPI auch.
Da gibt es den ersten Punkt, den ich nicht verstehe: Warum hat das Metafile immer eine Auflösung von 101.6 DPI?

Jetzt aber zu dem Druckproblem.
Ich habe bis jetzt den Ansatz, dass ich die Papiergröße genau auf die Größe des Metafiles zuschneide und die Ränder alle auf 0 setze. Klappt auch. Da die Frage: Warum muss ich die DefaultPageSettings nochmal überschreiben, wo ich die doch in Pagesettings schon alle gesetzt habe? Sonst übernimmt er die Einstellungen leider nicht korrekt und ich habe nur die PrintableArea von einem Din A4 Blatt oder so. Sprich es kommt nur Mist raus.

Und dann verstehe ich dieses
01.
 gr.PageUnit = GraphicsUnit.Inch 
nicht wirklich.
Ich verstehe ja, dass man das Metafile durch
01.
 gr.DrawImage(DC.Export_Metafile, Area) 
praktisch "auf den Drucker" zeichnet. Aber woher weiß ich welche Einheit der will? Sind es die 1/100 Zoll, die man bei den Pagesettings angeben muss? Wenn ich das als 1/100 Zoll angebe, kommt nur Mist raus. Bei Zoll geht es komischerweise. Aber das Rectangle hat doch nix mit dem Drucken zu tun? Es wird doch in Pixel angegeben? Warum dann diese Einheit?

Dann habe ich jetzt aktuell das Problem dass mir dieser Code das Metafile zwar als ps abspeichert, aber es steht "hochkant". Wenn ich ein anderes Metafile erzeuge mit einer anderen Größe, dann wird es manchmal richtig herum ausgespuckt. Woher kommt das? Gibt es noch eine Einstellung die ich noch nicht gefunden habe? So etwas wie Autorotate = False oder so?

Jetzt noch abschließend eine Frage:
Wie stelle ich ein, dass mir der PDF-Creator gleich von vornherein eine eps Datei erzeugt und nicht erst ein ps?
Finde dazu irgendwie keine Einstellungen. Aber das könnte ich auch noch anders lösen.

Vielen Dank schon mal im Vorraus!

florengray



Mitglied: florengray
04.04.2013 um 15:29 Uhr
Ist das Problem zu banal und ich stehe nur auf dem Schlauch oder zu exotisch?
Oder kann mir wirklich keiner helfen?
Bitte warten ..
Ähnliche Inhalte
Schulung & Training
Excel Creator (wie PDF Creator)
Frage von Andinistrator1Schulung & Training6 Kommentare

Hallo Zusammen, kennt jemand ein guten Freeware Tool welches mir Ausdrucke in Excel kopiert, ohne diese vorher in PDF ...

Installation
PDF Creator Server soll nicht zusätzlich das PDF öffnen
Frage von geTr0ffEnInstallation3 Kommentare

Hi, ich habe noch ein kleines Problemchen. Ich habe die Serverversion von PDFcreator installiert, auf dem Server. Den Drucker ...

Microsoft Office
Office Excel 2016 und exportieren von PDF Dateien
Frage von ET-StudentMicrosoft Office3 Kommentare

Hi hab ein Problem mit dem neuen Office 365 Pro Plus im Excel wird seit kurzem nicht mehr die ...

Basic
Mit vb.net PDF in Word-Dok einfügen
gelöst Frage von ahstaxBasic10 Kommentare

Hallo, Ich suche Hinweise und Beispiele, wie man mit einem vb.net-Programm alle Seiten eines PDF-Doks in ein Word-Dok einfügen ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 2 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 7 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 8 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 20 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...