TIF文件转PDF

使用场景

前几天公司管文件的想要一个本地TIF文件转换成PDF的功能,虽然我不明白为什么要转换成PDF(TIF文件是有图层的,可以使用其他软件进行重新编辑),其实是公司购买的致远OA系统不能支持TIF文件在线预览而只能下载,PDF文件可以预览而且有水印。

然后领导说让我从网上找企业问问这个功能(管文件的上传TIF之后,这个功能把TIF转换成PDF文件然后上传给OA)的价格,不问不知道,一问10w+(虽然是嵌套在其他WEB应用中的,但是我还是觉得离了个大谱)。

其实用Windows自带的图片浏览器直接打印选择导出PDF文件然后上传OA系统就可以了,但是怕用户需要转换的量太大,一个一个文件转换不知道得弄多久,我寻思自己开发一个小功能,让管文件的在他本地把TIF转换成PDF再上传OA系统就OK了。

结局
用自己开发的导出的感觉比用Windows自带的清晰一些(可能是错觉),最后领导怕我开发的软件用户会给别人用,一旦有问题用户可能首先往我头上怀疑,而且用户一年才有十几个TIF文件需要转换成PDF的,就让他们用Windows自带的功能自己转换去了,这玩意最后就太监了

代码
废话说完了,看看代码吧

这个是按钮点击,主要是调用“tifToPdf”方法,如果需要批量转换的话就遍历文件名称,每次都调用这个方法就行了。

private void button1_Click(object sender, EventArgs e)
{try{                tifToPdf(@"D:\test.tif", @"D:\test.pdf");MessageBox.Show("转换成功!");}catch (Exception ex){MessageBox.Show("转换失败!\r详细信息:" + ex.Message);}
}

转换的方法

/// <summary>
/// 将tif文件转换成pdf
/// </summary>
/// <param name="arr">需要导出为PDF格式的tif文件全路径</param>
/// <param name="toFilePdf">导出PDF的文件权路径</param>
private static void tifToPdf(string arr, string toFilePdf)
{System.Drawing.Bitmap pic = new System.Drawing.Bitmap(arr);float width = pic.Size.Width;   // TIF图片的宽度float height = pic.Size.Height;   // TIF图片的高度FileInfo _toFile = new FileInfo(toFilePdf);// 创建一个文档对象Document doc = new Document();Rectangle rectangle = new Rectangle(0, 0, width, height);doc.SetPageSize(rectangle);int pages = 0;FileStream fs = new FileStream(toFilePdf, FileMode.OpenOrCreate);// 定义输出位置并把文档对象装入输出对象中PdfWriter writer = PdfWriter.GetInstance(doc, fs);// 打开文档对象doc.Open();PdfContentByte cb = writer.DirectContent;RandomAccessFileOrArray ra = new RandomAccessFileOrArray(arr);int comps = TiffImage.GetNumberOfPages(ra);for (int c = 0; c < comps; ++c){Image img = TiffImage.GetTiffImage(ra, c + 1);if (img != null){doc.SetPageSize(new Rectangle(img.ScaledWidth, img.ScaledHeight));img.SetAbsolutePosition(0, 0);cb.AddImage(img);doc.NewPage();++pages;}ra.Close();// 关闭}// 关闭文档对象,释放资源doc.Close();
}

C# TIF文件转PDF相关推荐

  1. tif文件转pdf_PPT怎么转换成PDF文件?可以帮到你的PPT转PDF方法

    PPT怎么转换成PDF文件?大家在平时的工作与学习中肯定接触且使用过PPT.PDF这两种格式的文件,随之就会有将PPT转换成PDF文件的需求.这是由于PPT文件兼容性比较差,不同设备打开文件的效果不同 ...

  2. java 多张jpg合成tif后避免tif文件过大的方法

    这几天突然有个需求要求把之前的通过扫描仪扫出来的jpg图片给合成一个tif文件,乍一看这个需求还是没啥问题的,于是乎直接上网找一个方法下来就好啦,百度"多张jpg合成tif"得到如 ...

  3. HEG安装及hdf文件转tif文件批处理

    HEG(HDF-EOS to GeoTIFF (HEG) Converter)安装及hdf文件转tif文件批处理 HEG下载地址: https://ladsweb.modaps.eosdis.nasa ...

  4. 基于 gma 的栅格数据格式转换:以netCDF(.nc)与GTiff(.tif)文件互转为例

    目标 [netCDF(.nc)与GTiff(.tif)文件互转] 环境 系统: Window 10+ (X64) Python 版本: 3.8.8 + gma 版本: 1.1.0 +   gma:地理 ...

  5. JAVA 多种文件转pdf,进行合并,统一pdf文件页面样式

    JAVA 将word.execl.ptt.txt.图片等文件转为pdf文件.合并为一个pdf文件,并统一pdf文件页面样式 准备 1.jar包 2.对应的dll文件放到jdk或jre的bin目录下: ...

  6. python批量pdf转word,python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  7. java生成tif图片的缩略图,将多页tif文件转换为图像文件,并生成缩略图

    转换tif文件为图像文件可以使用JAI,jimi等包来处理jimi处理一份39页的tif文件生成png并缩小,使用14秒. JAI处理同一份文件却用了近60秒.(因该是偶技术问题造成的):-) jim ...

  8. java中ofd文件转pdf_word文件转pdf怎么转?这一招轻松搞定Word转PDF

    word文件转pdf怎么转?在自己电脑中编辑好的Word文档,在其他人的电脑中打开总出现文件内容乱码的情况,这是由于文件设备不兼容导致的.解决这个问题的最好方法就是将Word转换成PDF文件,可以提高 ...

  9. viso图片转eps文件 AND pdf转eps文件

    latex排版过程中,经常会嵌入.eps文件,而我们平日作图用惯了visio,处理数据用惯了excel,如何把这些文件转化成eps文件呢?在网上搜出很多的方法,眼花缭乱,但总是不得其法,转化出来的ep ...

  10. PDF解决方案(2)--文件转PDF

    相关专题链接: PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:上一篇中讲到的文件上传,文件上传 ...

最新文章

  1. 利用curl下载文件(进度条显示) 代码片段
  2. 一文详解 Kubernetes 中的服务发现,运维请收藏
  3. 第八章 工厂方法模式
  4. python PyQt5 QSplitter类(可拉伸区域分隔器)
  5. ldap基本dn_2020年,手把手教你如何在CentOS7上一步一步搭建LDAP服务器的最新教程...
  6. Redis数据库(四)——Redis集群模式(主从复制、哨兵、Cluster)
  7. 2K/XP/2003 系统登录密码破解
  8. XPath最通俗的教程(ZZ)
  9. 怎样使用http代理IP判断公立幼儿园和私立幼儿园的差距
  10. html5 video标签兼容性与自定义控件
  11. asp.net C#母版页和内容页事件排版加载顺序生命周期
  12. 小结SpringMVC(二)
  13. 用CSS绘制实体三角形并说明原理
  14. 百胜中国于香港联交所主要上市;平安健康正式收购平安智慧医疗 | 美通企业日报...
  15. Faraway(枚举 去绝对值)
  16. Boost.Asio 网络编程([译]Boost.Asio基本原理)
  17. jyhtfkuy5987tgoluigl.kjylghliuygliuylio
  18. 为什么CMOS门电路在传输过程存在延时
  19. 关于Kaggle入门,看这一篇就够了
  20. 安全、可靠、合规,华为云守护企业网站安全

热门文章

  1. WTG--让我们随时随地封装系统!
  2. JavaWeb项目—— 博客系统
  3. java可以编辑 cad吗_MiniCAD 简单的java画图,能画圆、直线、矩形,还能移动,修改颜色等 Develop 238万源代码下载- www.pudn.com...
  4. 【Webex】加入会议是无法正常加入!提示“下载会议组件时无法获取正确的参数。 请联系技术支持以获取帮助。...
  5. K3Cloud BOS设计 值更新 字段拼接到文本字段
  6. HFSS----微带天线设计实例之模型分析优化
  7. echarts循环图表
  8. css字体浏览(转)
  9. CDA的考试体系与人才能力模型
  10. 咬了一口苹果死去的计算机之父——图灵