[Mono-list] Reporting tools

Damien DALY maitredede at gmail.com
Thu Jan 10 06:14:44 EST 2008


Hi,

Thanks, I will try the libs.

For your P/Invoke, maybe they are here to get the hard physical
margins of the printer (the area where the printer will never print).
The managed printing API doesn't care about hard margins. So if you
set a magin of 0 into your managed code, you will always have a few
millimeters (depending printer model) from your paper border.
With the GetDeviceCaps(), you can get the hard margin values, and thus
compute the right margin value.

Dédé

2008/1/10, Webring NDATECH <webring at ndatech.it>:
> Miguel de Icaza wrote:
> > Hey,
> >
> >> I wrote something like that some month ago . You can find it here
> >> http://www.codeproject.com/KB/printing/ReportPrintingFramework.aspx .
> >>
> >> Sadly my work and the core printing library still lack support for mono :( .
> >> I checked with MOMA for a older mono version (I think 1.2.4) and some features were missing.
> >> Anyway both my work and the printing library are BSD licensed, maybe you have room for
> >> porting them to mono (This is in my todo list ... but I'm too busy now and I don't know
> >> when that will be accomplished )
> >
> > Would you mind sending me your latest ZIP file and perhaps an updated
> > Moma report for it?
> >
> > Miguel
>
> Hi Miguel,
> you can download latest ZIP files from
> http://www.codeproject.com/KB/printing/ReportPrintingFramework.aspx or in alternative from
> http://www.ndatech.it/en/other_software.aspx
>
> I just scanned the assemblies with latest MoMA  and I'm happy to see that all the missing
> parts has been implemented :)
>
> That's the report:
>
> MoMA Scan Results
>
> Scan time: 10/01/2008 8.30.02
>
> For descriptions of issues and what to do, see
> http://www.mono-project.com/MoMA_-_Issue_Descriptions.
>
> ReportPrintingFramework.dll
> No Issues Found
>
> ReportPrinting.dll
> P/Invokes into native code
> Calling Method  P/Invoke Method External DLL
> Class ReportPrinting.PrinterMarginInfo:
> void .ctor(int) Int16 GetDeviceCaps(int, Int16) gdi32.dll
> void .ctor(int) Int16 GetDeviceCaps(int, Int16) gdi32.dll
> void .ctor(int) Int16 GetDeviceCaps(int, Int16) gdi32.dll
> void .ctor(int) Int16 GetDeviceCaps(int, Int16) gdi32.dll
> void .ctor(int) Int16 GetDeviceCaps(int, Int16) gdi32.dll
> void .ctor(int) Int16 GetDeviceCaps(int, Int16) gdi32.dll
>
>
> As you can see still persist some P/Invoke in the core printing library ReportPrinting.dll
> (that isn't my work ... I wrote ReportPrintingFramework.dll, a software layer based on
> ReportPrinting.dll).
> Anyway the ReportPrinting.dll source is available (frome the above links too), so I'm
> confident that the P/Invokes may be easily substituted with some other managed call. Any
> suggestion ?
>
> Nicola
> --
> http://www.ndatech.it
>


More information about the Mono-list mailing list