Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  vb.net: SVG oder PDF darstellen und in Zwischenablage kopieren

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
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  vb.net: SVG oder PDF darstellen und in Zwischenablage kopieren (2140 mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



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: 2678
Registriert: 06.11.2000

erstellt am: 16. Jun. 2014 16:44    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

Hallo Experten,

ich habe da ein Problem, für das ich bisher keine wirklich zufriedenstellende Lösung gefunden habe.
Ich habe ein Programm, bei dem zuerst- abhängig von der Auswahl der Users- ein Schemabild angezeigt wird.
Wenn der User fortfährt, wird eine Berechnung erstellt, die Ergebnisse in ein RichtText-Formular eingetragen und das Schemabild per Copy&Paste ebenfalls in das RichText-Formular übernommen. Das ganze hatte ich soweit schonmal hier beschrieben.
Die Schemabilder erstelle ich zur Zeit mit Inkscape, exportiere sie als PNG, bereinige sie noch ein bischen und fertig.
Soweit so gut.
Das Problem ist, dass die Bilder auf dem Formular immer unscharf heraus kommen, ich habe es bisher nicht geschafft, diese scharf darzustellen.

So, nun mein Gedanke: Nicht als png laden, sondern als Vektorgrafik. Schließlich speichert Inkscape von haus aus als SVG ab. Aber wie darstellen? Google hat mir einige Treffer gegeben, wie SVG-Grafiken dargestellt werden können, die meisten verwenden eine DLL von einem Adobe-Viewer. Den Viewer gibt es so aber nicht mehr, und die anderen Links beziehen sich meistens auf c#-Beispiele- wovon ich leider 0 Ahnung habe. Und sind außerdem meistens uralt.

DXF fällt flach, da die Bilder auch Texte enthalten, die unterschlägt Inkscape beim Export, brauch ich also gar nicht danach googlen.

Das Problem mit c# und 0 Ahnung trifft leider auch auf den 3. Lösungsansatz zu: die Bilder als PDF speichern, scharf darstellen und per Zwischenablage übernehmen.
Die meisten gefundenen Lösungen beziehen sich auf den Adobe-Reader oder auf PDFsharp.
Den Adobe-Reader mag ich nicht, da die Schemadarstellung ohne jede interaktivität erfolgen soll. Ich brauche/will hier keine der Funktionalitäten, die der Adobe-Reader mitbringt.

Bleibt PDFsharp: http://www.pdfsharp.net/wiki/PDFsharpSamples.ashx
Die HelloWorld-Beispiele funktionieren soweit, ich könnte PDFs aus VB.net erstellen etc.
Was ich aber brauche, ist, eine vorhandene PDF zu öffnen und darzustellen, da kommt aber wieder 0 Ahnung zum Tragen.
In dem Beispiel "Work on PDF Objects" steht beschrieben, wie eine PDF-Datei geöffnet wird  aber ich bin zu blöd, das in VB umzusetzen 

Versteht da jemand mehr als ich und kann mir sagen, wie ich hiermit eine PDF-Grafik öffne, darstelle und in die Zwischenablage bekomme?

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

www.al-ko.com | mein Gästebuch

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

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



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

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 16. Jun. 2014 23:41    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 Nur für KMassler 10 Unities + Antwort hilfreich

Vielleicht so als Hinweis, ich hatte mit Inkscape auch Probleme scharfe Bilder rauszubekommen, ich gehe jetzt immer über den Weg mit EPS, das geht gut.Ich habe damit gute Erfahrung gemacht Wie Du das jetzt programmtechnisch abhandeln kannst weiss ich nicht aber vielleicht bringt Dich die Idee weiter.

Axel

------------------
CAD.DE: Inoffizielle deutsche CATIA Hilfeseite  Netiquette von cad.de
Berufliches Umfeld: comsol.net; comsol.ch; Euromanagers3D Printingservice

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



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: 2678
Registriert: 06.11.2000

erstellt am: 17. Jun. 2014 09:51    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

Hi Axel,
du meinst damit das Format EPS?
Damit habe ich erst mal das selbe Problem wie mit den anderen Formaten: Wie stelle ich das Bild in vb.net dar?

Ich habe mal noch mit WMF (windows meta file) und dann mit EMF (enhanced meta file) weiter probiert.
WMF geht gar nicht, da streikt mein Inkscape, auch nach Neuinstallation.
EMF geht, die Bilder sind nicht schön, aber dafür scharf (kein Antialiasing- wer hat bloß dieses Wort erfunden^^).
Ich kann ganz einfach eine EMF-Datei in eine Picturebox laden mit

Code:
picturebox1.image = Image.FromFile(Filename)

Das sieht erst mal richtig aus :) .
Aber dann das neue Problem: Ich bekomme das Bild nicht in die Zwischenablage  ! Nach
Code:
Clipboard.SetImage(picturebox1.Image)
ist die Zwischenablage leer 
Mit einer PNG-Datei funktioniert das!

Muss ich den Inhalt der Picturebox irgendwie anders erzeugen oder zwischenpuffern?

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

www.al-ko.com | mein Gästebuch

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



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: 2678
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
privat:
ab 2024 Onshape
seit 2025 SolidWorks for Makers

erstellt am: 17. Jun. 2014 11:00    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

Fortschrittsbericht:

Wenn ich statt

Code:
picturebox1.image = Image.FromFile(Filename)

die EMF-Datei mit
Code:
pbSchema.Image = New Bitmap(ImageName)
lade, dann kann ich das auch in die Zwischenablage kopieren.

Manuell in Word eingefügt, sieht die Grafik einigermaßen gut aus, bis auf den grauen Hintergrund. Die paar übrigen Schönheitsfehler könnte ich bei der Erstellung in Inkscape ausbügeln.

Aber:

  • Die erzeugte Bitmap ist immer zu groß. Und zwar immer gleich groß, egal wie groß die Grafik in Inkscape ist.
    Bei der Darstellung im Programm ist das egal, hier astelle ich die SizenMode-Eigenschaft auf zoom und gut ist.
    Leider wird aber die Grafik in der Zwischenablage auch immer zu groß.
  • Der Hintergrund der Grafik aus der Zwischenablage ist immer grau. Wie bekomme ich den auf weiß oder transparent?

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

www.al-ko.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)2025 CAD.de | Impressum | Datenschutz