itextpdf 超链接
*
相关类与接口
PdfAction
public class PdfAction extends PdfObjectWrapper
{ public static final int SUBMIT_EXCLUDE = 1; public static final int SUBMIT_INCLUDE_NO_VALUE_FIELDS = 2; public static final int SUBMIT_HTML_FORMAT = 4; public static final int SUBMIT_HTML_GET = 8; public static final int SUBMIT_COORDINATES = 16; public static final int SUBMIT_XFDF = 32; public static final int SUBMIT_INCLUDE_APPEND_SAVES = 64; public static final int SUBMIT_INCLUDE_ANNOTATIONS = 128; public static final int SUBMIT_PDF = 256; public static final int SUBMIT_CANONICAL_FORMAT = 512; public static final int SUBMIT_EXCL_NON_USER_ANNOTS = 1024; public static final int SUBMIT_EXCL_F_KEY = 2048; public static final int SUBMIT_EMBED_FORM = 8196; public static final int RESET_EXCLUDE = 1; * 构造方法 public PdfAction() { public PdfAction(PdfDictionary pdfObject) { * 静态方法 public static PdfAction createURI(String uri) { public static PdfAction createURI(String uri, boolean isMap) { public static PdfAction createGoTo(PdfDestination destination) { public static PdfAction createGoTo(String destination) { public static PdfAction createGoToR(PdfFileSpec fileSpec, PdfDestination destination, boolean newWindow) { public static PdfAction createGoToR(PdfFileSpec fileSpec, PdfDestination destination) { public static PdfAction createGoToR(String filename, int pageNum) { public static PdfAction createGoToR(String filename, int pageNum, boolean newWindow) { public static PdfAction createGoToR(String filename, String destination, boolean newWindow) { public static PdfAction createGoToR(String filename, String destination) { public static PdfAction createGoToE(PdfDestination destination, boolean newWindow, PdfTarget targetDictionary) { public static PdfAction createGoToE(PdfFileSpec fileSpec, PdfDestination destination, boolean newWindow, PdfTarget targetDictionary) { public static PdfAction createLaunch(PdfFileSpec fileSpec, boolean newWindow) { public static PdfAction createLaunch(PdfFileSpec fileSpec) { public static PdfAction createThread(PdfFileSpec fileSpec, PdfObject destinationThread, PdfObject bead) { public static PdfAction createThread(PdfFileSpec fileSpec) { public static PdfAction createSound(PdfStream sound) { public static PdfAction createSound(PdfStream sound, float volume, boolean synchronous, boolean repeat, boolean mix) { public static PdfAction createMovie(PdfAnnotation annotation, String title, PdfName operation) { public static PdfAction createHide(String text, boolean hidden) { public static PdfAction createHide(String[] text, boolean hidden) { public static PdfAction createHide(PdfAnnotation annotation, boolean hidden) { public static PdfAction createHide(PdfAnnotation[] annotations, boolean hidden) { public static PdfAction createNamed(PdfName namedAction) { public static PdfAction createSetOcgState(List
states) { public static PdfAction createSetOcgState(List
states, boolean preserveRb) { public static PdfAction createRendition(String file, PdfFileSpec fileSpec, String mimeType, PdfAnnotation screenAnnotation) { public static PdfAction createJavaScript(String javaScript) { public static PdfAction createSubmitForm(String file, Object[] names, int flags) { public static PdfAction createResetForm(Object[] names, int flags) { public static void setAdditionalAction(PdfObjectWrapper
wrapper, PdfName key, PdfAction action) { * 其他方法 public void next(PdfAction nextAction) { public PdfAction put(PdfName key, PdfObject value) { public void flush() { protected boolean isWrappedObjectMustBeIndirect() { private static PdfArray getPdfArrayFromAnnotationsList(PdfAnnotation[] wrappers) { private static PdfArray getArrayFromStringList(String[] strings) { private static PdfArray buildArray(Object[] names) { private static void validateRemoteDestination(PdfDestination destination) { private static void validateNotRemoteDestination(PdfDestination destination) {
Link
public class Link extends Text { * 构造方法 public Link(String text, PdfLinkAnnotation linkAnnotation) { public Link(String text, PdfAction action) { public Link(String text, PdfDestination destination) { * 其他方法 public PdfLinkAnnotation getLinkAnnotation() { public AccessibilityProperties getAccessibilityProperties() { protected IRenderer makeNewRenderer() {
*
示例
public class Test { private static final String img = "./image/ymhd.jpg"; private static final String file = "./link/link.pdf"; private static final String file2 = "./link/link2.pdf"; private static final String file3 = "./link/link3.pdf"; private static final String file4 = "./link/link4.pdf"; public static void fun() throws Exception{ //文件内跳转 PdfDocument pdfDocument = new PdfDocument(new PdfWriter(file)); Document document = new Document(pdfDocument); document.setFont(PdfFontFactory.createFont("STSong-Light","UniGB-UCS2-H")); PdfAction action = PdfAction.createGoToR("link.pdf",2); Paragraph paragraph = new Paragraph(new Link("跳转到第二页",action)); document.add(paragraph); document.add(new AreaBreak()); document.add(new Paragraph("这是第二页文档")); document.close(); } public static void fun2() throws Exception{ //跳转到其他文件 PdfDocument pdfDocument = new PdfDocument(new PdfWriter(file2)); Document document = new Document(pdfDocument); document.setFont(PdfFontFactory.createFont("STSong-Light","UniGB-UCS2-H")); PdfAction action = PdfAction.createGoToR("1.pdf",2); //如果使用相对目录,".":表示的是file2文件所在目录 //跳转的文件只能是同目录文件、或者子目录文件 Paragraph paragraph = new Paragraph(new Link("跳转到其他文件",action)); document.add(paragraph); document.close(); } public static void fun3() throws Exception{ //文字跳转到指定url PdfDocument pdfDocument = new PdfDocument(new PdfWriter(file3)); Document document = new Document(pdfDocument); document.setFont(PdfFontFactory.createFont("STSong-Light","UniGB-UCS2-H")); PdfAction action = PdfAction.createURI("http://www.baidu.com"); Paragraph paragraph = new Paragraph(new Link("跳转到百度首页",action)); document.add(paragraph); document.close(); } public static void fun4() throws Exception{ //图片跳转到指定url PdfDocument pdfDocument = new PdfDocument(new PdfWriter(file4)); Document document = new Document(pdfDocument); document.setFont(PdfFontFactory.createFont("STSong-Light","UniGB-UCS2-H")); Image image = new Image(ImageDataFactory.create(img)); image.setWidth(200); image.setHeight(200); //image.setFixedPosition(100,450); PdfAction action = PdfAction.createURI("http://www.baidu.com"); image.setAction(action); document.add(image); document.close(); } public static void main(String[] args) throws Exception { fun(); fun2(); fun3(); fun4(); } }
fun:文件内跳转,点击后跳转到第二页


fun2:跳转到其他文件,点击跳转到link.pdf的第二页

fun3:文字跳转到指定url,点击跳转到百度首页


fun4:图片跳转到指定url,点击后跳转到百度首页


发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220188.html原文链接:https://javaforall.net
