// Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module printing.mojom; import "ui/gfx/geometry/mojo/geometry.mojom"; const string kPdfToPwgRasterConverterServiceName = "pdf_to_pwg_raster_converter"; struct PDFRenderSettings { enum Mode { NORMAL = 0, // Modes below are Windows only. TEXTONLY, GDI_TEXT, POSTSCRIPT_LEVEL2, POSTSCRIPT_LEVEL3 }; gfx.mojom.Rect area; gfx.mojom.Point offsets; int32 dpi; bool autorotate; Mode mode; }; struct PWGRasterSettings { enum TransformType { TRANSFORM_NORMAL, TRANSFORM_ROTATE_180, TRANSFORM_FLIP_HORIZONTAL, TRANSFORM_FLIP_VERTICAL }; // How to transform odd-numbered pages. TransformType odd_page_transform; // Rotate all pages (on top of odd-numbered page transform). bool rotate_all_pages; // Rasterize pages in reverse order. bool reverse_page_order; }; interface PDFToPWGRasterConverter { Convert(handle pdf_file_in, PDFRenderSettings pdf_settings, PWGRasterSettings pwg_raster_settings, handle pwg_raster_file_out) => (bool success); };