1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package org.vudroid.pdfdroid.codec;
- import com.poqop.document.codec.CodecDocument;
- import com.poqop.document.codec.CodecPage;
- public class PdfDocument implements CodecDocument
- {
- private long docHandle;
- private static final int FITZMEMORY = 512 * 1024;
- private PdfDocument(long docHandle)
- {
- this.docHandle = docHandle;
- }
- public CodecPage getPage(int pageNumber)
- {
- return PdfPage.createPage(docHandle, pageNumber + 1);
- }
- public int getPageCount()
- {
- return getPageCount(docHandle);
- }
- static PdfDocument openDocument(String fname, String pwd)
- {
- return new PdfDocument(open(FITZMEMORY, fname, pwd));
- }
- private static native long open(int fitzmemory, String fname, String pwd);
- private static native void free(long handle);
- private static native int getPageCount(long handle);
- @Override
- protected void finalize() throws Throwable
- {
- recycle();
- super.finalize();
- }
- public synchronized void recycle() {
- if (docHandle != 0) {
- free(docHandle);
- docHandle = 0;
- }
- }
- }
|