Java/PDF RTF/PDF Action
Содержание
Chained Actions
<source lang="java">
import java.io.FileOutputStream; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfAction; import com.lowagie.text.pdf.PdfWriter; public class ChainedActionsPDF {
public static void main(String[] args) { Document document = new Document(); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("ChainedActionsPDF.pdf")); document.open(); PdfAction action = PdfAction.javaScript("app.alert("Welcome at my site");\r", writer); action.next(new PdfAction("http://www.jexp.ru")); Paragraph p = new Paragraph(new Chunk("Click to go to a website").setAction(action)); document.add(p); } catch (Exception de) { de.printStackTrace(); } document.close(); }
}
</source>
Named Actions in PDF Document
<source lang="java">
import java.io.FileOutputStream; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Phrase; import com.lowagie.text.pdf.PdfAction; import com.lowagie.text.pdf.PdfWriter;
public class NamedActionsPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4, 50, 50, 50, 50); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("NamedActionsPDF.pdf")); document.open(); Paragraph p = new Paragraph(new Chunk("Click to print").setAction(new PdfAction(PdfAction.PRINTDIALOG))); p.add(new Phrase(new Chunk("First Page").setAction(new PdfAction(PdfAction.FIRSTPAGE)))); p.add(new Phrase(new Chunk("Prev Page").setAction(new PdfAction(PdfAction.PREVPAGE)))); p.add(new Phrase(new Chunk("Next Page").setAction(new PdfAction(PdfAction.NEXTPAGE)))); p.add(new Phrase(new Chunk("Last Page").setAction(new PdfAction(PdfAction.LASTPAGE)))); for (int i = 1; i <= 10; ++i) { document.add(new Paragraph("This is page " + i)); document.add(new Paragraph(Chunk.NEWPAGE)); document.add(p); document.newPage(); } } catch (Exception de) { de.printStackTrace(); } document.close(); }
}
</source>
PdfAction: Goto Another Pdf File
<source lang="java">
import java.io.FileOutputStream; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfAction; import com.lowagie.text.pdf.PdfDestination; import com.lowagie.text.pdf.PdfWriter; public class PdfActionGotoAnotherPdfFile {
public static void main(String[] args) { Document document = new Document(); Document remote = new Document(); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("PdfActionGotoAnotherPdfFile.pdf")); PdfWriter.getInstance(remote, new FileOutputStream("PdfActionGotoAnotherPdfFileremote.pdf")); document.open(); document.add(new Chunk("goto another document").setAction(PdfAction.gotoRemotePage("PdfActionGotoAnotherPdfFileremote.pdf", "test", false, true))); remote.open(); remote.add(new Paragraph("Some remote document")); remote.newPage(); Paragraph p = new Paragraph("This paragraph contains a "); p.add(new Chunk("local destination").setLocalDestination("test")); remote.add(p); } catch (Exception de) { de.printStackTrace(); } document.close(); remote.close(); }
}
</source>
PdfAction: Goto Local Page 1
<source lang="java">
import java.io.FileOutputStream; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfAction; import com.lowagie.text.pdf.PdfDestination; import com.lowagie.text.pdf.PdfWriter; public class PdfActionGotoLocalPage1 {
public static void main(String[] args) { Document document = new Document(); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("PdfActionGotoLocalPage1.pdf")); document.open(); document.add(new Paragraph("Page 1")); document.newPage(); document.add(new Paragraph("Page 2")); document.add(new Chunk("goto page 1").setAction(PdfAction.gotoLocalPage(1, new PdfDestination(PdfDestination.FITH,500), writer))); } catch (Exception de) { de.printStackTrace(); } document.close(); }
}
</source>
PdfAction: Goto Local Page 2
<source lang="java">
import java.io.FileOutputStream; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfAction; import com.lowagie.text.pdf.PdfDestination; import com.lowagie.text.pdf.PdfWriter; public class PdfActionGotoLocalPage {
public static void main(String[] args) { Document document = new Document(); Document remote = new Document(); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("PdfActionGotoLocalPage.pdf")); document.open(); PdfAction action = PdfAction.gotoLocalPage(2, new PdfDestination(PdfDestination.XYZ, -1, 10000, 0), writer); writer.setOpenAction(action); document.add(new Paragraph("Page 1")); document.newPage(); document.add(new Paragraph("Page 2")); } catch (Exception de) { de.printStackTrace(); } document.close(); remote.close(); }
}
</source>
Pdf action: jump locally
<source lang="java">
import java.awt.Color; import java.io.FileOutputStream; import com.lowagie.text.Anchor; import com.lowagie.text.Document; import com.lowagie.text.Font; import com.lowagie.text.FontFactory; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter; public class JumpLocalDestinationPDF {
public static void main(String[] args) { Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream("JumpLocalDestinationPDF.pdf")); document.open(); Paragraph paragraph = new Paragraph(); Anchor anchor1 = new Anchor("some text", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.UNDERLINE, new Color(0, 0, 255))); anchor1.setName("top"); paragraph.add(anchor1); document.add(paragraph); Anchor anchor2 = new Anchor("please jump to a local destination", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.NORMAL, new Color(0, 0, 255))); anchor2.setReference("#top"); document.add(anchor2); } catch (Exception e) { System.err.println(e.getMessage()); } document.close(); }
}
</source>
Pdf action: open application (notepad.exe)
<source lang="java">
import java.io.FileOutputStream; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfAction; import com.lowagie.text.pdf.PdfWriter; public class OpenApplicationPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4, 50, 50, 50, 50); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("OpenApplicationPDF.pdf")); document.open(); String application = "notepad.exe"; Paragraph p = new Paragraph(new Chunk("Click to open " + application).setAction(new PdfAction(application, null, null, null))); document.add(p); } catch (Exception de) { de.printStackTrace(); } document.close(); }
}
</source>