createTiff static method

Future<Uri> createTiff(
  1. List<Page> pages,
  2. TiffCreationOptions options
)

Renders a multi-page TIFF image from DOCUMENT images of the given pages and stores it as a file. For each DOCUMENT image a separate TIFF page is generated. All given pages must contain DOCUMENT images.

pages list of pages to render

options additional options for rendering

Implementation

static Future<Uri> createTiff(
    List<Page> pages, TiffCreationOptions options) async {
  try {
    if (!options.binarized &&
        PredefinedCompressionTypes.binarizedOnlyCompressionTypes()
            .contains(options.compression)) {
      throw ('Incompatible compression type. The given compression type ${options.compression} is only applicable to binarized images.');
    }

    var pagesList = pages.map((page) => page.toJson()).toList();
    var arguments = {'pages': pagesList, 'options': options.toJson()};
    final uri = await _channel.invokeMethod('createTiff', arguments);
    return Uri.parse(uri);
  } catch (e) {
    Logger.root.severe(e);
    rethrow;
  }
}