package com.artifex.mupdf.fitz; public class Document { static { Context.init(); } public static final String META_FORMAT = "format"; public static final String META_ENCRYPTION = "encryption"; public static final String META_INFO_AUTHOR = "info:Author"; public static final String META_INFO_TITLE = "info:Title"; protected long pointer; protected String path; /* for proofing */ protected native void finalize(); public void destroy() { finalize(); pointer = 0; } protected Document(long p) { pointer = p; } protected native static Document openNativeWithPath(String filename); protected native static Document openNativeWithBuffer(byte buffer[], String magic); protected native static Document openNativeWithStream(SeekableInputStream stream, String mimeType); public static Document openDocument(String filename) { Document doc = openNativeWithPath(filename); doc.path = filename; return doc; } public static Document openDocument(byte buffer[], String magic) { return openNativeWithBuffer(buffer, magic); } public static Document openDocument(SeekableInputStream stream, String magic) { return openNativeWithStream(stream, magic); } public static native boolean recognize(String magic); public native boolean needsPassword(); public native boolean authenticatePassword(String password); public native int countPages(); public native Page loadPage(int number); public native Outline[] loadOutline(); public native String getMetaData(String key); public native boolean isReflowable(); public native void layout(float width, float height, float em); public native long makeBookmark(int page); public native int findBookmark(long mark); public native boolean isUnencryptedPDF(); public boolean isPDF() { return false; } public String getPath() { return path; } protected native String proofNative (String currentPath, String printProfile, String displayProfile, int resolution); public String makeProof (String currentPath, String printProfile, String displayProfile, int resolution) { String proofFile = proofNative( currentPath, printProfile, displayProfile, resolution); return proofFile; } }