- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写自己的 Java 代码来使用 http://www.mupdf.com/docs/example.c对于我的 Android 应用程序。
我只需要显示单页 pdf 文件,无需任何额外选项。所以我没有使用 MupdfCore.java,而是修改了上面的 .c 代码以与 JNI 一起使用,如下所示:
C 代码:
JNIEXPORT void JNICALL Java_com_example_loadpdf_MainActivity_render
(JNIEnv * pEnv, jobject pThis, jstring jfilename, jint jpagenumber, jint jzoom, jint jrotation)
{
const char *filename = (*pEnv)->GetStringUTFChars(pEnv,jfilename,0);
int pagenumber = (int)jpagenumber;
int zoom = (int)jzoom;
int rotation = (int)jrotation;
fz_context *ctx = fz_new_context(NULL, NULL, FZ_STORE_UNLIMITED);
fz_register_document_handlers(ctx);
fz_document *doc = fz_open_document(ctx, filename);
int pagecount = fz_count_pages(doc);
fz_page *page = fz_load_page(doc, pagenumber - 1);
fz_matrix transform;
fz_rotate(&transform, rotation);
fz_pre_scale(&transform, zoom / 100.0f, zoom / 100.0f);
fz_rect bounds;
fz_bound_page(doc, page, &bounds);
fz_transform_rect(&bounds, &transform);
fz_irect bbox;
fz_round_rect(&bbox, &bounds);
fz_pixmap *pix = fz_new_pixmap_with_bbox(ctx, fz_device_rgb(ctx), &bbox);
fz_clear_pixmap_with_value(ctx, pix, 0xff);
fz_device *dev = fz_new_draw_device(ctx, pix);
fz_run_page(doc, page, dev, &transform, NULL);
fz_free_device(dev);
fz_write_png(ctx, pix, "/sdcard/data/out.png", 0);
fz_drop_pixmap(ctx, pix);
fz_free_page(doc, page);
fz_close_document(doc);
fz_free_context(ctx);
Java 代码:
package com.example.loadpdf;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
public class MainActivity extends Activity {
private native void render(String path, int pagenumber, int zoom, int rotation);
static{
System.loadLibrary("mupdf");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String path = Environment.getExternalStorageDirectory().toString() + "//data//test.pdf";
render(path,1,100,0);
}
上面的代码成功地将给定的pdf转换为png文件并将其存储在sdcard/data文件夹中。但是如何将图像返回到 java 代码而不将其写入 sdcard 以便我可以在 imageview 中显示它?
关于 mupdf 库中的方法的文档并不多,因此如果有人知道我如何实现这一目标,请告诉我。
最佳答案
您有什么理由不遵循现有的 Android 代码吗?
您只需按照http://www.mupdf.com/docs/how-to-build-mupdf-for-android中的指南进行操作即可.
更简单,您甚至可以按照以下示例操作:https://github.com/libreliodev/android
关于java - 如何用Java编写自己的mupdf实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24714446/
我已经使用一些 MuPDFs 修改 API 编辑了一个 PDF,但我不知道如何将这个修改后的 PDF 保存到磁盘。这可能吗?如果是这样,我该如何保存此 PDF? 最佳答案 您需要调用 pdf_writ
我正在使用 mupdf 在我的 c++ 应用程序中呈现 PDF,但我还需要编辑 PDF(例如插入图片),但我无法终生弄清楚如何 - 它没有很好地记录。 Ghostscript 说 mupdf 中有一个
我正在尝试编译 MuPDF 库的最新版本(今天克隆了 git repo)。 从 git 中查看 mupdf 源代码的副本: git clone git://git.ghostscript.com/mu
我正在使用 MuPDF 在我的 android 应用程序中打开和编辑 PDF,但我需要一些方法来以位图格式获取当前页面。 我一直在阅读代码,但我没有成功。有人可以帮助我吗? 最佳答案 我们在 Andr
我正在尝试编译 mupdf在 Windows 7 上使用 mingw gcc。 context.h 中的以下行异常(exception) #define fz_throw(CTX, ERRCODE,
我使用 Mupdf Library 实现了电子书应用程序,并希望为我的项目中的每个 pdf 文件生成缩略图谁能告诉我如何生成这个?提前致谢 最佳答案 在 Librelio 中,他们使用的是没有 Coo
我正在将 MUPDF 添加到 android 应用程序中: (1) http://mupdf.blogspot.com/ (2) http://pastebin.com/YzHUhzE7 当我尝试做的
您好,我在我的项目中使用 MuPdf 库来查看文档。问题是,当您在 11 英寸平板电脑上的 Activity 中打开 3-7 个文档时,我会出现内存溢出。当您加载一个新文档时,对先前文档的所有引用都将
我试图将 mupdf 导入我的应用程序,但是当我打开它时,我遇到了一些奇怪的错误,它会强制关闭。为什么?我真的不明白。 这是我的日志: 10-10 15:34:17.802 8657-8657/
我是新的 Android 开发者。我的项目正在使用 android 的 mupdf 来签名到 pdf 文件。我正在使用 android 的源代码 mupdf(源代码在这里 https://github
我的代码为MuPDF Library我想在我的应用程序中使用它。我尝试导入该项目并尝试运行它。 但问题是它运行正常,并在应用程序启动时显示 PDF 文件列表,但当我选择任何 pdf 文件时,它就会崩溃
我想将 MUPDF 源添加到我的项目并在我的应用程序上显示 pdf。 我在下面的链接中执行了所有这些步骤 http://mupdf.blogspot.com/ 然后像这里写的那样将类添加到项目中
我最近在我的项目中加入了 MuPDF 来加载 PDF 文件,我想为 PDF 实现放大镜功能。 我已经查看了无论如何都找不到的文档,无法将 X 的矩形发送到 MuPDF 并使用位图进行响应。 如有任何指
我已经为 android 构建了 MUPDF 库,它可以很好地查看 pdf,但是有人知道我如何能够使用 mupdf 使用超链接查看 pdf,因为 mupdf 说支持超链接????? 最佳答案 最近几天
我在我的一个项目中使用 mupdf。几乎满足了我的要求,只是不知道是否支持添加新页面或替换新页面? mupdf的demo展示了如何给当前页面添加图层(在页面上绘制)并保存。但是我找不到添加新页面和删除
我正在尝试使用 waf 进行实验(构建系统)在 mupdf . 我在编译时遇到编译器错误 mupdf\fitz\dev_gdiplus.cpp . ..\..\..\mupdf\fitz\dev_gd
我正在尝试使用 MuPDF 库将 PDF 文件导出为 SVG 数据。我为此任务编写了以下函数: PDFIMPORT_DECLSPEC int PDFImport::createSVGDataStr(
当我调用 fz_run_page() 时,MuPDF 只将实际的 PDF 对象绘制到像素图上 (例如文本、图像、 vector 图形等)。 它不绘制页面边界框并用静态颜色(例如白色)填充它。有没有办法
我正在使用 MUPDF 库,我添加了手动放大、缩小、评级、设置亮度的功能。现在我正在长按突出显示的文本,我必须显示我的数据库中的含义。我正在尝试做两件事,一件是剪贴板或 emulateShiftHel
我在android中实现了MuPDf来打开,查看,搜索,设置书签 等用于 PDF。现在我想要水平翻转的动画效果,即类似于在 FlipBoard 应用程序中以水平方式使用的效果。 我还需要知道如何突出显
我是一名优秀的程序员,十分优秀!