You are here: Home Management eClosing DocMagic Documentation Wiki Convertendo arquivos TIF em PDF
Views

Edit history

Edit: -1 of 2
Time: 2008-12-08 19:54:29
Note: /Plone/management/eclosing-docmagic/documentation/wiki/wiki_page.2008-12-08.3201552988/edit

changed:
-
<p>Para converter arquivos de imagem no formato TIF em documentos PDF basta
  usar o iText. Adicione o arquivo <a
  href="http://www.lowagie.com/iText/download.html">iText-2.1.4.jar</a> no seu
  projeto e crie uma classe (ou método em uma classe já existente) parecida
  com a apresentada abaixo:</p>

  <p><font color="#009900">/*<br />
  &nbsp;* $Id: Tiff2Pdf.java 3373 2008-05-12 16:21:24Z xlv $<br />
  &nbsp;*<br />
  &nbsp;* This code is part of the 'iText Tutorial'.<br />
  &nbsp;* You can find the complete tutorial at the following address:<br />
  &nbsp;*</font> <a href="http://itextdocs.lowagie.com/tutorial/"><font
  color="#009900">http://itextdocs.lowagie.com/tutorial/</font></a><br />
  <font color="#009900">&nbsp;*<br />
  &nbsp;* This code is distributed in the hope that it will be useful,<br />
  &nbsp;* but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
  &nbsp;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<br />
  &nbsp;*<br />
  &nbsp;*</font> <a href="mailto:itext-questions@lists.sourceforge.net"><font
  color="#009900">itext-questions@lists.sourceforge.net</font></a><br />
  <font color="#009900">&nbsp;*/</font></p>

  <p><font color="#009900">package
  com.lowagie.examples.objects.images.tiff;</font></p>

  <p><font color="#009900">import java.io.FileOutputStream;</font></p>

  <p><font color="#009900">import com.lowagie.text.Document;<br />
  import com.lowagie.text.Image;<br />
  import com.lowagie.text.Paragraph;<br />
  import com.lowagie.text.pdf.PdfContentByte;<br />
  import com.lowagie.text.pdf.PdfWriter;<br />
  import com.lowagie.text.pdf.RandomAccessFileOrArray;<br />
  import com.lowagie.text.pdf.codec.TiffImage;</font></p>

  <p><font color="#009900">/**<br />
  &nbsp;* Demonstrates how the Tiff to PDF conversion works.<br />
  &nbsp;*<br />
  &nbsp;* @author psoares<br />
  &nbsp;* @author blowagie<br />
  &nbsp;*/</font></p>

  <p><font color="#009900">public class Tiff2Pdf {</font></p>

  <p><font color="#009900">&nbsp;/**<br />
  &nbsp; * Demonstrates some TIFF functionality.<br />
  &nbsp; *<br />
  &nbsp; * @param args<br />
  &nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a
  list of tiff files to convert<br />
  &nbsp; */<br />
  &nbsp;public void convertTiff2Pdf(String fileName) {<br />
  &nbsp;&nbsp;String pdf_file;<br />
  &nbsp;&nbsp;<br />
   &nbsp;&nbsp;pdf_file = fileName.substring(0, fileName.lastIndexOf('.') + 1)
  + "pdf";<br />
  &nbsp;&nbsp;Document document = new Document();<br />
  &nbsp;&nbsp;try {<br />
  &nbsp;&nbsp;&nbsp;PdfWriter writer = PdfWriter.getInstance(document,<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new FileOutputStream(pdf_file));<br />
  &nbsp;&nbsp;&nbsp;int pages = 0;<br />
  &nbsp;&nbsp;&nbsp;document.open();<br />
  &nbsp;&nbsp;&nbsp;PdfContentByte cb = writer.getDirectContent();<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  RandomAccessFileOrArray ra = null;<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int comps
  = 0;<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try
  {<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  ra = new RandomAccessFileOrArray(fileName);<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  comps = TiffImage.getNumberOfPages(ra);<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />

   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  System.out.println("Processing: " + fileName);<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  for (int c = 0; c &lt; comps; ++c) {<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  try {<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  Image img = TiffImage.getTiffImage(ra, c + 1);<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  if (img != null) {<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  System.out.println("page " + (c + 1));<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  if (img.getScaledWidth() &gt; 500 || img.getScaledHeight() &gt; 700) {<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  img.scaleToFit(500, 700);<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  }<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  img.setAbsolutePosition(20, 20);<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  document.add(new Paragraph(fileName + " - page " + (c + 1)));<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  cb.addImage(img);<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  document.newPage();<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  ++pages;<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  }<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  }<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  catch (Throwable e) {<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  System.out.println("Exception " + fileName + " page " + (c + 1) + " " +
  e.getMessage());<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  }<br />
  &nbsp;&nbsp;&nbsp;&nbsp;}<br />
  &nbsp;&nbsp;&nbsp;&nbsp;ra.close();<br />
  &nbsp;&nbsp;&nbsp;&nbsp;document.close();<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch
  (Throwable e) {<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  System.out.println("Exception in " + fileName + " " + e.getMessage());<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
  &nbsp;&nbsp;} catch (Throwable e) {<br />
  &nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
  &nbsp;&nbsp;}<br />
  &nbsp;}&nbsp;&nbsp;&nbsp;<br />
   }<br />
  </font></p>

powered by Plone