From 5f044ffe43f770fade1934a6415cac08f82dd83c Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Fri, 6 Oct 2017 19:27:00 +0100 Subject: Simple PCLm device. Both bandwriter and document_writer interfaces cope with multi page docs. Update mudraw to output pclm format too. Incorporates fixes from Tor. --- include/mupdf/fitz.h | 1 + include/mupdf/fitz/output-pclm.h | 41 ++++++++++++++++++++++++++++++++++++++++ include/mupdf/fitz/writer.h | 1 + 3 files changed, 43 insertions(+) create mode 100644 include/mupdf/fitz/output-pclm.h (limited to 'include') diff --git a/include/mupdf/fitz.h b/include/mupdf/fitz.h index 76d8376e..9b6d6aa9 100644 --- a/include/mupdf/fitz.h +++ b/include/mupdf/fitz.h @@ -64,6 +64,7 @@ extern "C" { #include "mupdf/fitz/output-png.h" #include "mupdf/fitz/output-pwg.h" #include "mupdf/fitz/output-pcl.h" +#include "mupdf/fitz/output-pclm.h" #include "mupdf/fitz/output-ps.h" #include "mupdf/fitz/output-psd.h" #include "mupdf/fitz/output-svg.h" diff --git a/include/mupdf/fitz/output-pclm.h b/include/mupdf/fitz/output-pclm.h new file mode 100644 index 00000000..74c811f5 --- /dev/null +++ b/include/mupdf/fitz/output-pclm.h @@ -0,0 +1,41 @@ +#ifndef MUPDF_FITZ_OUTPUT_PCLM_H +#define MUPDF_FITZ_OUTPUT_PCLM_H + +#include "mupdf/fitz/system.h" +#include "mupdf/fitz/context.h" +#include "mupdf/fitz/output.h" +#include "mupdf/fitz/band-writer.h" +#include "mupdf/fitz/pixmap.h" +#include "mupdf/fitz/bitmap.h" + +/* + PCLm output +*/ +typedef struct fz_pclm_options_s fz_pclm_options; + +struct fz_pclm_options_s +{ + int compress; + int strip_height; + + /* Updated as we move through the job */ + int page_count; +}; + +/* + fz_parse_pclm_options: Parse PCLm options. + + Currently defined options and values are as follows: + + compression=none: No compression + compression=flate: Flate compression + strip-height=n: Strip height (default 16) +*/ +fz_pclm_options *fz_parse_pclm_options(fz_context *ctx, fz_pclm_options *opts, const char *args); + +fz_band_writer *fz_new_pclm_band_writer(fz_context *ctx, fz_output *out, const fz_pclm_options *options); +fz_document_writer *fz_new_pclm_writer(fz_context *ctx, const char *path, const char *options); +void fz_write_pixmap_as_pclm(fz_context *ctx, fz_output *out, const fz_pixmap *pixmap, const fz_pclm_options *options); +void fz_save_pixmap_as_pclm(fz_context *ctx, fz_pixmap *pixmap, char *filename, int append, const fz_pclm_options *options); + +#endif diff --git a/include/mupdf/fitz/writer.h b/include/mupdf/fitz/writer.h index 9f277ceb..1ce51645 100644 --- a/include/mupdf/fitz/writer.h +++ b/include/mupdf/fitz/writer.h @@ -153,6 +153,7 @@ extern const char *fz_pdf_write_options_usage; extern const char *fz_svg_write_options_usage; extern const char *fz_pcl_write_options_usage; +extern const char *fz_pclm_write_options_usage; extern const char *fz_pwg_write_options_usage; #endif -- cgit v1.2.3