Hi Mark, > Am 14.02.2020 um 19:13 schrieb Mark Waddingham via use-livecode > <use-livecode@lists.runrev.com>: > > On 2020-02-14 17:32, Klaus major-k via use-livecode wrote: >>> revPrintField formats the content of the field you specify to fill a new >>> field >>> which fits within the printMargins of the page. >>> 'print this card' starts printing the card *as it is* with the top-corner at >>> the left-print-margin,top-print-margin. >>> Try choosing 'A4 Borderless' as the page size (this has 0 print margins). >> As I wrote, then it works as exspected, but this is not practical, >> who has a marginless printer? > > Most people these days in fact! Most (even cheap) inkjets can print to the > edge of an A4 page :D
oh boy, has been some time since I have printed out something or even owned a printer. :-D > [ Of course, the need for margins when printing is not actually really > related to what could be printed, but what is comfortable for the user to > hold and read! ] > > The revPrintField command is written to make it easy to print the contents of > a field, over multiple pages to fit to the page setup and printer options > provided by the user. This means it computes the width of the field based on > those options. > > The issue here is that your field layout is width sensitive - as are most > documents which use tabStops. If you'd typed your content into word, and then > changed the page setup / margin options from the settings in effect when you > set the tabStops then you'd get exactly the same effect as you are seeing > with revPrintField. > > Your stack appears to already be laid out assuming an A4 page size - which is > why you get the effect you want when using 'print this card'. Yes, (DIN) A4 (595*842 Pixels) is pretty standard over here in Europe (cough, cough 8-)) > Assuming you don't need to accommodate user-chosen page sizes, then all you > should need to do is: > 1) use revShowPrintDialog to turn off showing the page setup dialog OK > 2) set the printMargins to those you already have in your stack (the > distance of each edge of the field from the card boundary) OK > 3) set the printPaperSize to the width and height of your stack (which is A4 > size in points - I think at least) OK > 4) call (modified) revPrintField > This should mean that revPrintField will use a field of the same width and > height of that in the stack, but do the pagination for you. Thanks a lot, will try that. A4 is all I need to supply. Hm, did take all the above mentioned stape but there are still parts that are not printed and the TOTAL lines are still wrapped. > If you do need to account for different (user chosen) page widths, then you > will need to adjust the tabStops appropriately: > 1) answer page setup to get the user's chosen options > 2) use revShowPrintDialog to turn off showing the page setup dialog > 3) interrogate the printPaperSize and printMargins to work out the printable > width (pageWidth - leftMargin - rightMargin) > 4) adjust the tabStops of your field so that the right tabStop is at the > printable width > 5) call (modified) revPrintField > > Hope this helps! Thank you very much! OK, I spent too much time on this already, I will use "print cd xyz" for now... > Warmest Regards, > > Mark Best Klaus -- Klaus Major https://www.major-k.de kl...@major-k.de _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode