• 大小: 13.21MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-22
  • 语言: Java
  • 标签: mupdf  

资源简介

开源项目mupdf的源代码,支持各种运行环境的,包括android,为节省空间,却除了git部分

资源截图

代码片段和文件信息

// Rendering a page of a PDF document to a PNG image in less than 100 lines.

// Compile a debug build of mupdf then compile and run this example:
//
// gcc -g -o build/debug/example -Iinclude docs/example.c \
// build/debug/libmupdf.a \
// build/debug/libfreetype.a build/debug/libjbig2dec.a \
// build/debug/libjpeg.a build/debug/libopenjpeg.a \
// build/debug/libmujs.a \
// build/debug/libz.a -lm
//
// build/debug/example /path/to/document.pdf 1 200 25

// Include the MuPDF header file.
#include 

void
render(char *filename int pagenumber int zoom int rotation)
{
fz_context *ctx;
fz_document *doc;
int pagecount;
fz_page *page;
fz_matrix transform;
fz_rect bounds;
fz_irect bbox;
fz_pixmap *pix;
fz_device *dev;

// Create a context to hold the exception stack and various caches.

ctx = fz_new_context(NULL NULL FZ_STORE_UNLIMITED);

// Register the default file types.

fz_register_document_handlers(ctx);

// Open the PDF XPS or CBZ document.

doc = fz_open_document(ctx filename);

// Retrieve the number of pages (not used in this example).

pagecount = fz_count_pages(ctx doc);

// Load the page we want. Page numbering starts from zero.

page = fz_load_page(ctx doc pagenumber - 1);

// Calculate a transform to use when rendering. This transform
// contains the scale and rotation. Convert zoom percentage to a
// scaling factor. Without scaling the resolution is 72 dpi.

fz_rotate(&transform rotation);
fz_pre_scale(&transform zoom / 100.0f zoom / 100.0f);

// Take the page bounds and transform them by the same matrix that
// we will use to render the page.

fz_bound_page(ctx page &bounds);
fz_transform_rect(&bounds &transform);

// Create a blank pixmap to hold the result of rendering. The
// pixmap bounds used here are the same as the transformed page
// bounds so it will contain the entire page. The page coordinate
// space has the origin at the top left corner and the x axis
// extends to the right and the y axis extends down.

fz_round_rect(&bbox &bounds);
pix = fz_new_pixmap_with_bbox(ctx fz_device_rgb(ctx) &bbox);
fz_clear_pixmap_with_value(ctx pix 0xff);

// A page consists of a series of objects (text line art images
// gradients). These objects are passed to a device when the
// interpreter runs the page. There are several devices used for
// different purposes:
//
// draw device -- renders objects to a target pixmap.
//
// text device -- extracts the text in reading order with styling
// information. This text can be used to provide text search.
//
// list device -- records the graphic objects in a list that can
// be played back through another device. This is useful if you
// need to run the same page through multiple devices without
// the overhead of parsing the page each time.

// Create a draw device with the pixmap as its target.
// Run the page with the transform.

dev = fz_new_draw_device(ctx pix);
fz_run_page(ctx page dev &transform

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8338  2015-05-02 09:18  CHANGES

     文件        482  2015-05-02 09:18  CONTRIBUTORS

     文件      34520  2015-05-02 09:18  COPYING

     文件      10911  2015-05-02 09:18  Makefile

     文件       5197  2015-05-02 09:18  Makerules

     文件       9166  2015-05-02 09:18  Makethird

     文件       3275  2015-05-02 09:18  README

     文件       3509  2015-05-02 09:18  docs\example.c

     文件       2760  2015-05-02 09:18  docs\man\mudraw.1

     文件       3090  2015-05-02 09:18  docs\man\mupdf.1

     文件       4794  2015-05-02 09:18  docs\man\mutool.1

     文件       8481  2015-05-02 09:18  docs\multi-threaded.c

     文件        954  2015-05-02 09:18  docs\naming.txt

     文件      10186  2015-05-02 09:18  docs\overview.txt

     文件      13272  2015-05-02 09:18  docs\progressive.txt

     文件        838  2015-05-02 09:18  docs\refcount.txt

     文件        637  2015-05-02 09:18  docs\thirdparty.txt

     文件       1353  2015-05-02 09:18  include\mupdf\fitz\annotation.h

     文件       2259  2015-05-02 09:18  include\mupdf\fitz\bitmap.h

     文件       3519  2015-05-02 09:18  include\mupdf\fitz\buffer.h

     文件       3648  2015-05-02 09:18  include\mupdf\fitz\colorspace.h

     文件       1765  2015-05-02 09:18  include\mupdf\fitz\compressed-buffer.h

     文件      14167  2015-05-02 09:18  include\mupdf\fitz\context.h

     文件       2437  2015-05-02 09:18  include\mupdf\fitz\crypt.h

     文件      13029  2015-05-02 09:18  include\mupdf\fitz\device.h

     文件       3208  2015-05-02 09:18  include\mupdf\fitz\display-list.h

     文件      11948  2015-05-02 09:18  include\mupdf\fitz\document.h

     文件       1767  2015-05-02 09:18  include\mupdf\fitz\filter.h

     文件       3901  2015-05-02 09:18  include\mupdf\fitz\font.h

     文件       1048  2015-05-02 09:18  include\mupdf\fitz\function.h

............此处省略3954个文件信息

评论

共有 条评论