欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现TIF图像转PDF文件的方法

程序员文章站 2023-12-09 19:56:03
本文实例讲述了c#实现tif图像转pdf文件的方法。分享给大家供大家参考。具体实现方法如下: 这里介绍使用tiftopdf的用法。该工具可以将多个tif图像文件合并成一个...

本文实例讲述了c#实现tif图像转pdf文件的方法。分享给大家供大家参考。具体实现方法如下:

这里介绍使用tiftopdf的用法。该工具可以将多个tif图像文件合并成一个pdf文件

tiftopdf.rar文件点击此处本站下载

program.cs文件如下:

using system;
using system.collections.generic;
using system.io;
using itextsharp.text;
using itextsharp.text.pdf;
using itextsharp.text.pdf.codec;
namespace tiftopdf
{
 class program
 {
  //将多个tif文件合并成一个pdf文件
  private static void tiftopdf(ienumerable<string> arr, string sfilepdf)
  {
   fileinfo _tofile = new fileinfo(sfilepdf);
   // 创建一个文档对象
   document doc = new document(pagesize.a3, 0, 0, 0, 0);
   int pages = 0;
   filestream fs=new filestream(sfilepdf,filemode.openorcreate);
   // 定义输出位置并把文档对象装入输出对象中
   pdfwriter writer = pdfwriter.getinstance(doc, fs);
   // 打开文档对象
   doc.open();
   foreach(string sfiletif in arr)
   {
    pdfcontentbyte cb = writer.directcontent;
    randomaccessfileorarray ra = new randomaccessfileorarray(sfiletif);
    int comps = tiffimage.getnumberofpages(ra);
    for (int c = 0; c < comps; ++c)
    {
     image img = tiffimage.gettiffimage(ra, c + 1);
     if (img != null)
     {
      img.scalepercent(7200f / img.dpix, 7200f / img.dpiy);
      doc.setpagesize(new rectangle(img.scaledwidth, img
       .scaledheight));
      img.setabsoluteposition(0,0);
      cb.addimage(img);
      doc.newpage();
      ++pages;
     }
    }
    ra.close();// 关闭
   }
   // 关闭文档对象,释放资源
   doc.close();
  }
  public static void main(string[] args)
  {
   tiftopdf(new string[]{@"c:\test.tif"},@"c:\test.pdf");
  }
 }
}

希望本文所述对大家的c#程序设计有所帮助。