Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.33 KB | None | 0 0
  1. import java.io.ByteArrayInputStream;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4.  
  5. import com.itextpdf.text.FontFactory;
  6. import com.itextpdf.text.Document;
  7. import com.itextpdf.text.PageSize;
  8. import com.itextpdf.text.DocumentException;
  9. import com.itextpdf.text.pdf.PdfWriter;
  10.  
  11. import com.itextpdf.tool.xml.XMLWorkerHelper;
  12.  
  13.  
  14. public class iTextTest {
  15. private void doit(String sOut) {
  16. Document doc = new Document(PageSize.LETTER);
  17.  
  18. try {
  19. FileOutputStream fOut = new FileOutputStream(sOut);
  20.  
  21. // Register a non-native font.
  22. String sFontDir = ".";
  23. int iResult = FontFactory.registerDirectory(sFontDir);
  24. if(iResult == 0) {
  25. System.out.println("TestPDF(): Could not register font directory " + sFontDir);
  26. } else {
  27. System.out.println("TestPDF(): Registered font directory " + sFontDir);
  28. }
  29. System.out.println(" Fonts registered:");
  30. for(String sFont:FontFactory.getRegisteredFonts()) {
  31. System.out.println(" " + sFont);
  32. }
  33.  
  34. PdfWriter pdfWriter = PdfWriter.getInstance(doc, fOut);
  35.  
  36. doc.open();
  37.  
  38. XMLWorkerHelper helper = XMLWorkerHelper.getInstance();
  39.  
  40. String htmlContent;
  41. htmlContent = "<HTML><HEAD></HEAD><BODY>";
  42. htmlContent += "<P style="font-family: cooperblack;">";
  43. htmlContent += "Hello World!";
  44. htmlContent += "</P>";
  45. htmlContent += "</BODY></HTML>";
  46. helper.parseXHtml(pdfWriter, doc, new ByteArrayInputStream(htmlContent.getBytes()));
  47.  
  48. } catch(IOException e) {
  49. e.printStackTrace();
  50. } catch(DocumentException e) {
  51. e.printStackTrace();
  52. }
  53.  
  54. if(doc != null) {
  55. doc.close();
  56. }
  57. }
  58.  
  59.  
  60. public static void main(String[] args) {
  61. if(args.length != 1) {
  62. System.out.println("Usage: iTextTest outfile");
  63. return;
  64. }
  65.  
  66. iTextTest test = new iTextTest();
  67. test.doit(args[0]);
  68. }
  69. }
  70.  
  71. import java.io.ByteArrayInputStream;
  72. import java.io.FileOutputStream;
  73. import java.io.IOException;
  74. import java.io.File;
  75.  
  76. import com.itextpdf.text.FontFactory;
  77. import com.itextpdf.text.Document;
  78. import com.itextpdf.text.PageSize;
  79. import com.itextpdf.text.DocumentException;
  80. import com.itextpdf.text.pdf.PdfWriter;
  81.  
  82. import com.itextpdf.tool.xml.XMLWorkerHelper;
  83. import com.itextpdf.tool.xml.XMLWorkerFontProvider;
  84.  
  85.  
  86. public class iTextTest {
  87. private void doit(String sOut) {
  88. Document doc = new Document(PageSize.LETTER);
  89.  
  90. try {
  91. FileOutputStream fOut = new FileOutputStream(sOut);
  92.  
  93. // Register non-native fonts in a directory.
  94. String sFontDir = ".";
  95. XMLWorkerFontProvider fontImp = new XMLWorkerFontProvider(sFontDir, null);
  96. FontFactory.setFontImp(fontImp);
  97.  
  98. System.out.println(" Fonts registered before parsing:");
  99. for(String sFont:FontFactory.getRegisteredFonts()) {
  100. System.out.println(" " + sFont);
  101. }
  102.  
  103. PdfWriter pdfWriter = PdfWriter.getInstance(doc, fOut);
  104.  
  105. doc.open();
  106.  
  107. XMLWorkerHelper helper = XMLWorkerHelper.getInstance();
  108.  
  109. String htmlContent;
  110. htmlContent = "<HTML><HEAD></HEAD><BODY>";
  111. htmlContent += "<P style="font-family: cooperblack;">";
  112. htmlContent += "Hello World!";
  113. htmlContent += "</P>";
  114. htmlContent += "</BODY></HTML>";
  115. helper.parseXHtml(pdfWriter,
  116. doc,
  117. new ByteArrayInputStream(htmlContent.getBytes()),
  118. XMLWorkerHelper.class.getResourceAsStream("/default.css"),
  119. null,
  120. fontImp);
  121.  
  122. } catch(IOException e) {
  123. e.printStackTrace();
  124. } catch(DocumentException e) {
  125. e.printStackTrace();
  126. }
  127.  
  128. if(doc != null) {
  129. doc.close();
  130. }
  131. }
  132.  
  133.  
  134. public static void main(String[] args) {
  135. if(args.length != 1) {
  136. System.out.println("Usage: iTextTest outfile");
  137. return;
  138. }
  139.  
  140. iTextTest test = new iTextTest();
  141. test.doit(args[0]);
  142. }
  143. }
  144.  
  145. htmlContext = new HtmlPipelineContext(new CssAppliersImpl(fontImp));
  146. htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
  147.  
  148. pdfImageProvider = new PDFImageProvider(); // Optional
  149. htmlContext.setImageProvider(pdfImageProvider); // Optional
  150.  
  151. Pipeline<?> pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(doc, pdfWriter)));
  152. xmlWorker = new XMLWorker(pipeline, true);
  153. xmlParser = new XMLParser(true, xmlWorker, charsetUTF8);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement