flexprint 0.0.1+c copy "flexprint: ^0.0.1+c" to clipboard
flexprint: ^0.0.1+c copied to clipboard

Printing tabular reports is made easier using this library. Print Headings, horizontal lines. Print to console or StringBuffer.

FlexPrint - A Dart Library for console printing using flex layout #

Console Printing tabular reports is made easier using this library. Flexprint allows great flexibilty to the programmer to specify the table's appearance.

inport 'package:flexprint/flexprint.dart'

final fp = FlexPrint();
  fp.horizontalLine(doubleLine: true);
  fp.write('Customer Name', flex: 3);
  fp.write('Amount Due', flex: 2, alignment: Alignment.end);
  fp.write('Invoice Details', flex: 3);
  fp.write('Status', flex: 2, alignment: Alignment.center);
  fp.write('\n');
  fp.horizontalLine(doubleLine: true);
  customers.forEach((row) {
    fp.write(row.name, flex: 3);
    fp.write(row.amountDue.toString(), flex: 2, alignment: Alignment.end);
    fp.write(row.invoiceDetail, flex: 3);
    fp.write(row.status, flex: 2, alignment: Alignment.center);
    fp.write('\n');
  });
  fp.horizontalLine(char: '_');

Please see the code in example This will generate the following console output:

================================================================================
Customer Name                Amount Due Invoice Details              Status
================================================================================
John Doe & Co                   6789.12 Inv No 66987 of 06/15/20       Due
M D Rao & Co                   16789.12 Inv No 66989-92 of 08/12    Paid 10/05
________________________________________________________________________________

FlexPrint can print either to the console printer or to StringBuffer.


final fp = FlexPrint(useStringBuffer: true);

...

final sb = fp.stringBuffer;

## email the report or whatever
sendMail('doe@anon.com', sub: 'Activity report', body: sb.toString());
sb.clear();

Line Width, Padding, Overflow #

The default line width is 80 characters long, padding is 1 character, Overflow is truncated. Any or all of these can be set through the construtor.

Adding Columns #

Any number of columns may be added through the write() method. The first column with a newline ('\n') character outputs that row and subsequent writes add to the next row.

Flex #

Each column has a default flex factor of 1. You may specify any flex number.

Alignment #

You may specify that a column be justified left - Alignment.start, center - Alignment.Center, right Alignment,end

Overflow #

If you set overflow to Overflow,wrap, FlexPrint will wrap text within the column, otherwise the overflow text is truncated to the width of column.

Installing #

1. Depend on it #

Add this to your package's pubspec.yaml file

dependencies:
  flexprint: ^0.0.1+b

2. Install it #

With pub:

$ pub get

With flutter:

$ flutter pub get

3. Import it #

In your Dart or Flutter code, use:

import 'package:flexprint/flexprint.dart';

0
likes
40
points
7
downloads

Publisher

unverified uploader

Weekly Downloads

Printing tabular reports is made easier using this library. Print Headings, horizontal lines. Print to console or StringBuffer.

Homepage

License

Unlicense (license)

More

Packages that depend on flexprint