xppPdf() - Seitenränder löschen [ERLEDIGT]

Moderator: Moderatoren

xppPdf() - Seitenränder löschen [ERLEDIGT]

Beitragvon Martin Altmann » Do, 30. Apr 2015 9:08

Moin,
bei meinen Positionierungen ist der Text immer nach rechts (0,4cm) und nach unten (0,2cm) verschoben. Wie kann ich diese Ränder entfernen, so dass der Text an der von mir angegebenen Stelle sitzt?
Code: Alles auswählen
oPdf := XbpPDF():New()
oPdf:NewPage( XBPPRN_FORM_A4, XBPPRN_ORIENT_PORTRAIT,,,,GRA_PU_LOMETRIC, 0, 0 )
oPdf:VipInit( cVorlage )
oPdf:Create( vordruckpfad+sonderkat+"\Test.pdf" )


if hundename
   oPdf:Font( alltrim( str( hundeschrg ) ) + "." + oFont2:familyName + iif( "f" $ hundeschrs, " Bold", "" ) + iif ( "k" $ hundeschrs, " Italic", "" ) )
   text := "XXXXXXXXX Hier wird der Hundename hingedruckt! XXXXXXXXX"
   if titlpruef
      text += ", und die Titel kommen hierhin!"
   endif
   oPdf:MText( 100 * hundeunten, 100 * hundelinks, ConvToAnsiCp( text ), ascan( aAusr, hundeschra ) - 1 )
endif
if hundebez
   oPdf:Font( alltrim( str( hundebschg ) ) + "." + oFont2:familyName + iif( "f" $ hundebschs, " Bold", "" ) + iif ( "k" $ hundebschs, " Italic", "" ) )
   oPdf:MText( 100 * hundebezun, 100 * hundebezli, ConvToAnsiCp( alltrim( hundebeztx ) ), ascan( aAusr, hundebscha ) - 1 )
endif


Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: xppPdf() - Seitenränder löschen

Beitragvon Koverhage » Do, 30. Apr 2015 9:38

Die Frage ist, ob die Vorlage schon verschoben ist.
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1855
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen

Re: xppPdf() - Seitenränder löschen

Beitragvon Martin Altmann » Do, 30. Apr 2015 9:50

Klaus,
nein - ist sie nicht. Ich habe schon gedacht, dass es vielleicht an dem DEMO liegt - vielleicht kann mal einer von Euch einen Report drucken, ohne die Lizenznummer anzugeben - ist das dann auch verschoben?
Ich habe mal ein erzeugtes PDF angehangen - die Zeile mit dem Hundenamen passt, da habe ich die gemessene Abweichung mal manuell von den berechneten Koordinaten abgezogen. Aber das kann nicht die Lösung sein, höchstens ein Workaround.

Viele Grüße,
Martin
Dateianhänge
Test.pdf
(187.08 KiB) 16-mal heruntergeladen
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: xppPdf() - Seitenränder löschen

Beitragvon Koverhage » Do, 30. Apr 2015 11:29

Martin,

was passiert wenn Du Deine Vorlage ganz normal ausdruckst und dann die von xpppdf daneben (ohne Text).
Ich hatte z.B. folgendes Problem:
Newpage augerufen und die Fonteinstellungen gesetzt. Dann die PDF eingefügt. Bis zum ersten Bold war alles in Ordnung,
danch wurde leider alles in Bold gedruckt. Deshalb kann ich mir durch vorstellen, dass die Einstellungen für linker und oberer Rand
nach dem Einfügen verloren gehen bzw. auf Standardwerte gesetzt werden.
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1855
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen

Re: xppPdf() - Seitenränder löschen

Beitragvon Martin Altmann » Do, 30. Apr 2015 11:43

Klaus,
wenn ich meine Vorlage und die erzeugte Datei im Adobe Acrobat Reader öffne, sind die Abstände identisch (bis auf meine nachträglich eingefügten Text natürlich, die sind ja in der Vorlage nicht drin ;-) )

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: xppPdf() - Seitenränder löschen

Beitragvon Koverhage » Do, 30. Apr 2015 12:25

Damit es einer probieren kann.
Kannst Du die Werte für
hundeunten
hundelinks

hundebezun
hundebezl

posten ?
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1855
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen

Re: xppPdf() - Seitenränder löschen

Beitragvon Martin Altmann » Do, 30. Apr 2015 14:44

Moin,
habe eh' gerade eine ZIP an Edgar gemailt - hängt hier mal an.

Viele Grüße,
Martin
Dateianhänge
testpdf.zip
(350.08 KiB) 12-mal heruntergeladen
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: xppPdf() - Seitenränder löschen

Beitragvon brandelh » Do, 30. Apr 2015 14:47

wie druckst du deine PDF, ohne Anpassungen oder auf Seitenränder einpassen ?
Wenn man auf Seitenränder einpassen im Acrobat Reader einstellt, verkleinert er die Werte minimal und je nach Drucker käme das mit deinen Werten hin.
Ich kann mich nicht erinnern, dass Edgar irgendwelche Druckerränder / Seitenränder verwendet. Eine PDF braucht das ja nicht.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13181
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: xppPdf() - Seitenränder löschen

Beitragvon Martin Altmann » Do, 30. Apr 2015 14:50

Hubert,
ich drucke gar nicht - ich schaue mir das PDF im Reader an!
Und wenn ich ausdrucke, dann sage ich: Originalgröße, nicht anpassen! Mein eingedruckter Text muss linksbündig zum Text der Vorlage sein - ist er aber nicht, er ist nach rechts und unten verschoben.
Und Edgar hat default Seitenränder - links 1 Zeichen und oben eine Zeile.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: xppPdf() - Seitenränder löschen

Beitragvon Martin Altmann » Do, 30. Apr 2015 15:01

So - habe gerade mal genauer geprüft. Es liegt nicht nur am Seitenrand - auch die Umrechnung, die Edgar intern vornimmt, scheint fehlerhaft zu sein!
Der Abstand von unten passt - aber der von links passt bei den weiter rechts stehenden Texten auch nicht mehr - da ist er zu gering.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: xppPdf() - Seitenränder löschen

Beitragvon Koverhage » Do, 30. Apr 2015 16:20

Warum benutzt Du überhaupt Mtext und nicht nur Text ?
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1855
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen

Re: xppPdf() - Seitenränder löschen

Beitragvon Martin Altmann » Do, 30. Apr 2015 16:23

Weil ich da gleich die Ausrichtung zu der Koordinate angeben kann!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: xppPdf() - Seitenränder löschen

Beitragvon brandelh » Do, 30. Apr 2015 17:46

ich kann deine Angaben bei meinem Programm das diese Bibliothek nutzt nicht bestätigen.
Ich habe 20 als linker Rand eingestellt und

#define MILLIMETERS 7 // laut PDF Handbuch. Bottom Up

mein Rand wird zwischen 20 und 21 mm gedruckt, das ist Messtoleranz.
Auch die Sprünge zu den Spalten sind so groß wie ich das erwarte ...
Code: Alles auswählen
//-------------------------------------------------------------------------------------------
//------------------------------------------- _HB_PDF - einige Methoden erweitern
//-------------------------------------------------------------------------------------------
CLASS _HB_PDF from XbpPDF
   EXPORTED:                         // Global sichtbar
   METHOD NumText
   METHOD RText
   METHOD ZText
ENDCLASS
//------------------------------------------------------------------------------------
Method _HB_PDF:NumText(nPosY, nPosX, nWert, cFormat)
   DEFAULT cFormat TO "@E 999,999.99"
   ::Mtext( nPosY, nPosX, transform(nWert,cFormat), 1 )
return self
//------------------------------------------------------------------------------------
Method _HB_PDF:RText(nPosY, nPosX, cWert)                // Rechtsbündig
   DEFAULT cWert TO ""
   ::Mtext( nPosY, nPosX, alltrim(cWert), 1 )
return self
//------------------------------------------------------------------------------------
Method _HB_PDF:ZText(nPosY, nPosX, cWert)                // Zentriert
   DEFAULT cWert TO ""
   ::Mtext( nPosY, nPosX, alltrim(cWert), 2 )
return self


notfalls könntest du aber eine Ableitung wie ich oben machen und auch die Werte anpassen.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13181
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: xppPdf() - Seitenränder löschen

Beitragvon Martin Altmann » Do, 30. Apr 2015 17:58

Hubert,
Danke - Edgar meinte, bei ihm würde auch alles passen mit meinem Beispielprogramm.
Vielleicht liegt es ja doch an meinem Adobe Reader - ich habe zwar gesagt, dass er die Seite in Originalgröße ausdrucken soll (und nicht einpassen), aber vermutlich macht er das trotzdem (oder mein Drucker, obwohl ich im Treiber definiert habe, dass ich keine Seitrand haben möchte!)
Habe jetzt jedenfalls eine solche PDF zu meinem Kunden geschickt - der weiß ja, ob das passt (hatte ja die letzten Jahre immer ausgedruckt) - einige Stellen lassen mich daran zwar zweifeln, aber vielleicht hat er das damals bewusst so krumm gesetzt.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: xppPdf() - Seitenränder löschen [ERLEDIGT]

Beitragvon Martin Altmann » Mo, 04. Mai 2015 16:07

OK,
alles prima. Kunde hat auf meine Bitte hin die leere PDF, die sie mir geschickt hatte, ausgedruckt und mit dem Originalformular aus der Druckerei verglichen - da sind die Ränder auch unterschiedlich, das PDF ist nach innen "gedrängt", die Aussenränder also leicht größer.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12681
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin


Zurück zu Andere 3rd-Party-Tools

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast