Android Open Source - PDF2ImageForEP Mu P D F Core






From Project

Back to project page PDF2ImageForEP.

License

The source code is released under:

GNU General Public License

If you think the Android project PDF2ImageForEP listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.artifex.mupdf;
import jp.co.muratec.pdf2image.LoadLibrary;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.PointF;
import android.graphics.RectF;
//w w  w  .jav  a2s  .  c  o m
public class MuPDFCore
{
  /* load our native library */
//  ????????ClassLoader??????????????????????????????????????????????????????
//  static {
//    System.loadLibrary("mupdf");
//  }

  /* Readable members */
  private int pageNum  = -1;;
  private int numPages = -1;
  public  float pageWidth;
  public  float pageHeight;

  /* The native functions */
  private static native int setResolution(int res);
  private static native int openFile(String filename);
  private static native int countPagesInternal();
  private static native void gotoPageInternal(int localActionPageNum);
  private static native float getPageWidth();
  private static native float getPageHeight();
  public static native void drawPage(Bitmap bitmap,
      int pageW, int pageH,
      int patchX, int patchY,
      int patchW, int patchH);
  public static native RectF[] searchPage(String text);
  public static native int getPageLink(int page, float x, float y);
  public static native LinkInfo [] getPageLinksInternal(int page);
  public static native OutlineItem [] getOutlineInternal();
  public static native boolean hasOutlineInternal();
  public static native boolean needsPasswordInternal();
  public static native boolean authenticatePasswordInternal(String password);
  public static native void destroying();

  public MuPDFCore(String filename) throws Exception
  {
    // ????????ClassLoader?????????????????????????????????????????????
    LoadLibrary instance = LoadLibrary.getInstance();
    instance.init();
    
    if (openFile(filename) <= 0)
    {
      throw new Exception("Failed to open "+filename);
    }
  }
  
  public  void setRenderResolution(int res)
  {
    setResolution(res);
    return;
  }

  public  int countPages()
  {
    if (numPages < 0)
      numPages = countPagesSynchronized();

    return numPages;
  }

  private synchronized int countPagesSynchronized() {
    return countPagesInternal();
  }

  /* Shim function */
  public void gotoPage(int page)
  {
    if (page > numPages-1)
      page = numPages-1;
    else if (page < 0)
      page = 0;
    if (this.pageNum == page)
      return;
    gotoPageInternal(page);
    this.pageNum = page;
    this.pageWidth = getPageWidth();
    this.pageHeight = getPageHeight();
  }

  public synchronized PointF getPageSize(int page) {
    gotoPage(page);
    return new PointF(pageWidth, pageHeight);
  }

  public synchronized void onDestroy() {
    destroying();
  }

  public synchronized Bitmap drawPage(int page,
      int pageW, int pageH,
      int patchX, int patchY,
      int patchW, int patchH) {
    gotoPage(page);
    Bitmap bm = Bitmap.createBitmap(patchW, patchH, Config.ARGB_8888);
    drawPage(bm, pageW, pageH, patchX, patchY, patchW, patchH);
    return bm;
  }

  public synchronized int hitLinkPage(int page, float x, float y) {
    return getPageLink(page, x, y);
  }

  public synchronized LinkInfo [] getPageLinks(int page) {
    return getPageLinksInternal(page);
  }

  public synchronized RectF [] searchPage(int page, String text) {
    gotoPage(page);
    return searchPage(text);
  }

  public synchronized boolean hasOutline() {
    return hasOutlineInternal();
  }

  public synchronized OutlineItem [] getOutline() {
    return getOutlineInternal();
  }

  public synchronized boolean needsPassword() {
    return needsPasswordInternal();
  }

  public synchronized boolean authenticatePassword(String password) {
    return authenticatePasswordInternal(password);
  }
}




Java Source Code List

com.artifex.mupdf.ChoosePDFActivity.java
com.artifex.mupdf.LinkInfo.java
com.artifex.mupdf.MuPDFActivity.java
com.artifex.mupdf.MuPDFCore.java
com.artifex.mupdf.MuPDFPageAdapter.java
com.artifex.mupdf.MuPDFPageView.java
com.artifex.mupdf.OutlineActivityData.java
com.artifex.mupdf.OutlineActivity.java
com.artifex.mupdf.OutlineAdapter.java
com.artifex.mupdf.OutlineItem.java
com.artifex.mupdf.PageView.java
com.artifex.mupdf.ReaderView.java
com.artifex.mupdf.SafeAsyncTask.java
com.artifex.mupdf.SearchTaskResult.java
jp.co.muratec.pdf2image.DeepRadioGroup.java
jp.co.muratec.pdf2image.FilerActivity.java
jp.co.muratec.pdf2image.LoadLibrary.java
jp.co.muratec.pdf2image.PDF2ImageActivity.java
jp.co.muratec.pdf2image.PDF2ImageService.java