![]() |
Re: Vektor Format anzeigen/drucken
Hallo,
das Drucken ist ein Problem, weil der Drucker nicht auf Pixel eingestellt ist. Hier musst Du den Umweg über GDI+ gehen:
Delphi-Quellcode:
Die zusätzlichen Rects sind Update-Regions und werden normalerweise nicht benötigt. Die sind nur für das optimierte Zeichnen in Windows vorhanden.
var
Bounds: TGPRectF; Graphics: TGPGraphics; begin Printer.BeginDoc; Bounds.X := 0; Bounds.Y := 0; Bounds.Width := Printer.PageWidth; Bounds.Height := Printer.PageHeight; Graphics := TGPGraphics.Create(Printer.Canvas.Handle); try Graphics.SetPageUnit(UnitPixel); // <-- Das hier schaltet die Einheit um Graphics.SetSmoothingMode(SmoothingModeAntiAlias); SVG.PaintTo(Graphics, Bounds, nil, 0); finally Graphics.Free; end; Printer.EndDoc; end; Zitat:
Gruß xaromz |
Re: Vektor Format anzeigen/drucken
Liste der Anhänge anzeigen (Anzahl: 1)
danke für die hilfe, also die seite kann ich ausdrucken, allerdings muß ich die ganze seite etwas verschieben, da der drucker ränder hat, und ich das bild an position -4, -4 drucken muß zb
Die erste seite druckt nun das SVG richtig aus (allerdings noch verschoben) meine zweite seite wäre ein versuch, das ganze zuerst in ein MetaFile zu schreiben und dieses dann etwas versetzt an den drucker zu schicken, allerdings kommt da nur eine leere seite raus
Delphi-Quellcode:
zu den texten, habe ein problem : und zwar stimmt die positionierung nicht, er schreibt texte teilweise übereinander bzw zu weit zusammen
temp.BeginDoc;
grPrinter := TGPGraphics.Create(temp.Canvas.Handle); try grPrinter.SetPageUnit(UnitMillimeter); grPrinter.SetSmoothingMode(SmoothingModeAntiAlias); SVGImage1.SVG.PaintTo(grPrinter, Bounds, nil, 0); finally grPrinter.Free; end; temp.EndDoc; Graphics := TGPMetaFile.Create; SVGImage1.SVG.PaintTo(Graphics, Bounds, nil, 0); temp.BeginDoc; grPrinter := TGPGraphics.Create(temp.Canvas.Handle); grPrinter.SetPageUnit(UnitMillimeter); grPrinter.SetSmoothingMode(SmoothingModeAntiAlias); grPrinter.DrawImage(Graphics, -4, -4); grPrinter.Free; temp.EndDoc; Graphics.Free; wenn du dir mal das beispiel anguckst (beim text : Firmenbuchgericht bzw den Teil mit dem flughafen) |
Re: Vektor Format anzeigen/drucken
Bild kann nicht angezeigt werden
|
Re: Vektor Format anzeigen/drucken
Zitat:
|
Re: Vektor Format anzeigen/drucken
Wenn du die Datei in einem Texteditor anzeigen lässt, siehst du auch warum: die y-Position ist fast identisch:
Code:
<text x="5.8918" y="9.6632" class="fil1 fnt0">Firma GmbH</text>
<text x="18.0433" y="9.6632" class="fil1 fnt1"> · Ein Unternehmen der Holding</text> <text x="5.8918" y="12.4894" class="fil1 fnt1">Strasse, Ort und eventuell Land, </text> <text x="61.15" y="12.4894" class="fil1 fnt1"> Tel.: haben keine, eMail: [email]office@woauchimmer.com[/email], http://www.wieauchimmer.com</text> <text x="5.8918" y="15.2856" class="fil1 fnt1">Geschäftsführung: möchtegerne, Sitz: neine stehe Erfüllungsort und Gerichtsstand: wo auch immer</text> <text x="94.7042" y="15.2856" class="fil1 fnt1">, Firmenbuchgericht: haben keines</text> <text x="35.4986" y="12.4894" class="fil1 fnt2">Flughafen TESTFlughafen,</text> |
Re: Vektor Format anzeigen/drucken
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
an y-positinen passt auch alles, nur in x gibts die probleme, das sich die texte überschreiben z.B.: die zwei texte überschreiben sich (das , Firmenbuchgericht sollte nach dem wo auch immer stehen, aber der "," fängt schon beim 2ten m von immer an)
Code:
<text x="5.8918" y="15.2856" class="fil1 fnt1">Geschäftsführung: möchtegerne, Sitz: neine stehe Erfüllungsort und Gerichtsstand: wo auch immer</text>
<text x="94.7042" y="15.2856" class="fil1 fnt1">, Firmenbuchgericht: haben keines</text> wenn man die svg mit inkscape oder corel aufmacht, dann passt alles, wie es ist ich vermute, das hier die ausgabe des textes nicht 100% orignalgetreu ist, daher überschreiben sich die texte |
Re: Vektor Format anzeigen/drucken
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe Dein Bild mal in Opera geöffnet. Da sieht das so aus wie auf dem angehängten Screenshot. In Illustrator überschneiden sich die Texte auch etwas, allerdings beklagt er sich auch über eine fehlende Schrift (Arial Narrow). Nachdem ich mir Dein Bild im Quellcode angesehen habe, muss ich folgendes anmerken: Du verwendest da einen eingebetteten Font (nämlich Arial Narrow). Das unterstützt meine Komponente bisher nicht. Du verwendest CSS-Stylesheets. Auch das kann meine Komponente bisher nicht. Gruß xaromz |
Re: Vektor Format anzeigen/drucken
Liste der Anhänge anzeigen (Anzahl: 1)
hallo
also bei mir ist es egal, ob ich die schriftart einbette oder nicht (da diese schriftart auf meinem rechner installiert ist, sieht der ausdruck immer gleich aus) das mit dem css? funktioniert nicht? bei mir zeigt er aber die schriftarten genau so an, wie die in dem css definiert wurden (Also die sachen fett, die fett sind und so weiter) aber auch, wenn ich das ganze ohne css speichere, also die font attribute direkt in jeden text reinspeichern lasse, dann sieht das ganze so aus wie vorher habe mal : *) ohne CSS, direkt in die Texte als Attribute *) Schriftart nicht eingebettet *) Schriftart in Arial gewandelt das resultat ist das gleiche wie vorher, er überschreibt sich texte |
Re: Vektor Format anzeigen/drucken
Liste der Anhänge anzeigen (Anzahl: 2)
so, hier mal den vergleich, beides auf meinem rechner einmal mit IE7 und einmal mit der SVG Library
|
Re: Vektor Format anzeigen/drucken
Liste der Anhänge anzeigen (Anzahl: 2)
also, das problem ist, das der text mit der SVG Lib länger wird, als er original sein sollte ....
habe mal einen screenshoot mit kontrolllinien ausgegeben ... [edit]habe auch mal eine SVG mit Adobe Illustrater CS 2 erzeugt, aber selbes Resultat :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz