• 目录

    • 开发环境说明
    • Spire PDF for .NET (free edition)体验
    • 资源下载

开发环境说明

Microsoft Visual Studio 2013 Ultimate Edition With Update 4

Spire PDF for .NET v3.2 Free Edition

Microsoft Windows 7 Ultimate Edition With SP1


Spire PDF for .NET 体验

这次是受Yesi的邀请,为他们的产品(http://www.e-iceblue.com/)写一篇测评类的文章。说实话我是第一次写类似的文章,有些惶恐。不过还是感谢Yesi的信任。

按照我的理解,他们的产品多是用于办公文档类型的生成、转换的。而这些功能也是我们开发过程中常用的功能。比如:在网站开发时,将数据表导出到PDF。之前我常用的就是Reporting Service + Report Viewer控件的方式。无疑这可能是最简单的方法。但是ReportViewer控件的回发机制无疑破坏了整体的用户体验。

因此,我今天挑选了PDF组件进行了测试。

程序流程图:

如上图中所描述的那样。首先我将模拟数据(DataSource.xml)通过XslCompiledTransform类转换成html文档,之后使用Spire PDF组件中的PdfDocument对象将html文档转换成PDF文件。

代码:

         private void TransformToPdf(FileInfo htmlFile)
{
try
{
PdfDocument pdfDocument = new PdfDocument();
pdfDocument.LoadFromHTML(htmlFile.FullName, false, false, false);
FileInfo targetPDF = new FileInfo(Path.Combine(htmlFile.Directory.FullName, htmlFile.Name + ".pdf"));
pdfDocument.SaveToFile(targetPDF.FullName, FileFormat.PDF);
Trace.Write(string.Format("已经将HTML文件转换为PDF类型的文件:{0}", targetPDF.FullName));
this.SetStartButtonEnabledProperty(true);
this.SetProgressPictureState(false);
}
catch
{
Trace.Write(string.Format("无法转换HTML文件{0}为PDF类型!", htmlFile.FullName));
}
}

C# Code

正如上面代码大家看到的,短短几行,就可以将HTML文档转换成PDF文档了。但是在测试的过程中也发现了一个问题,就是在生成PDF文档时,会有一个短暂的卡顿。不知道如果是生成复杂PDF文档的话效率会不会有些影响。不过,不要对程序员要求的太多。作为程序员,我需要为我们正名:我们只能利用我们的智慧、知识和劳动,为部分人群解决部分问题。又要简单、又要美观、又要效率高,貌似微软、谷歌这些大公司也没有完全做到吧。哈哈..一点拙见


资源下载
 

谢谢Yesi的关注和信任。

使用Spire PDF for .NET将HTML转换成PDF文档的更多相关文章

  1. PDF文件可以转换成txt文档吗

    PDF是一种便携式的文件格式,传送和阅读都非常方便,是Adobe公司开发的跨平台文件格式,它无论在哪种打印机上都可以保证精确的颜色和准确的打印效果.可是有点遗憾的是PDF格式一般不能在手机上打开,或者 ...

  2. ABBYY将JPEG文件转换成Word文档的方法

    日常工作中处理JPEG格式的图像文件时,有时需要转换成Word文档进行编辑,市场上应用而生了很多转换工具,相信不少人听说过OCR(光学字符识别)软件,可以用来转换图像文件,而在OCR软件中, ABBY ...

  3. 如何使用ABBYY FineReader 12将JPEG文件转换成Word文档

    日常工作中处理JPEG格式的图像文件时,有时需要转换成Word文档进行编辑,市场上应用而生了很多转换工具,相信不少人听说过OCR(光学字符识别)软件,可以用来转换图像文件,而在OCR软件中, ABBY ...

  4. 如何用pdfbox-app-1.8.10.jar批处理将pdf文档转换成text文档

    1.首先下载pdfbox-app-1.8.10.jar(下载地址:http://pdfbox.apache.org/download.html) 2.将pdfbox-app-1.8.10.jar加载到 ...

  5. C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)

    这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项 ...

  6. HTML转换成word文档

    1工具类保存word文件 public class WordAction { public static void SaveAsWord(string fileName, string pFileNa ...

  7. 将Latex tex文档转换成 word文档(下)

    在上篇中我们介绍了一款将 tex 文件转换成 word 文件的工具 借用万能的搜索引擎,在 Google 上找到了更好的工具 它就是Pandoc 介绍 Pandoc 是由 John McaFarlan ...

  8. 将Latex tex文档转换成 word文档(上)

    有时候逼不得已,必须得将自己精心排版好的latex 文档 转换成word 给别人编辑 以下提供一个方法 下载 Tex2Word 工具,地址我的网盘 安装 解压后安装,使用默认安装路径 安装过程中.点击 ...

  9. 使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,

    一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不 ...

随机推荐

  1. python 如何判断对象是否为类(class)

    if type(att).__name__ == 'classobj':     pass else: pass

  2. C# 如何利用反射来加载程序集,并调用程序集中有关类的方法【转】

    假设在C盘根目录下有个Dog的Dll程序集文件,该程序集文件中包含类Dog 该类中有个狗叫几声的方法,如何通过反射来加载这个C:\Dog.dll,并且调用Dog类里面的Sound方法呢: public ...

  3. 我的经常使用linux小命令

        这里并非系统具体介绍每个Linux命令,不过记录本人在平时工作中经经常使用到的一些比較基础的命令及相关的參数,同一时候用了一些简单的样例来说明这些命令的用途,以及怎样用多种命令来实现同一种功能 ...

  4. JSF简单介绍

    JSF简单介绍 一. 什么是 JSF: JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架.它提供了一种以组件为中心来开发 Java Web 用户界 ...

  5. php上传图片到server

    php文件上传中会用到$_FILES系统函数 一.$_FILES系统函数 PHP编程语言中的常见的$_FILES系统函数使用方法有: $_FILES['myFile']['name'] 显示clien ...

  6. UC浏览器开发者版调试手机页面

    1 关于RI 目前,在手机上使用浏览器访问网页,无法便捷地进行网页语言调试.手机屏幕相对较小且操作不便,直接在手机上进行网页数据调试不太现实. 因此,我们使用技术将手机网页调试信息分离,实现一种能在大 ...

  7. 初识Devexpress ChartControl 之 动态添加stepline及TextAnnotation

    最近在用devexpress 第三方软件做项目. devexpress 的控件使用简单.功能强大.类型丰富.界面优美.扩展性强.今天主要是动态生成了一条StepLine.生成后的效果(能力不强,所以做 ...

  8. 图片的像素和Android的dp值之间的关系。

    这是一个困扰我很就得问题.今天在我的反复摸索下,总结出了一些个规律. 以下测试以魅族mx5为例. 手机参数:5.5英寸:高:1920:宽1080. /** * 获得屏幕的宽度 * * @param c ...

  9. 微博发布效果jq版

    大家都看过新浪微博的发状态功能,我模拟了一下类似的效果,包括发布时间,删除效果等.代码如下: <!DOCTYPE HTML> <html> <head> <m ...

  10. jjs 产生undefined的情况

    <script type="text/javascript"> var outObj = { type :"java" } function inn ...