1.使用.NET文件流技术;
若通过.NET的文件流技术生成PDF文件,必须对PDF文件的语法很清楚,例如BT表示实体内容开始;ET表示实体内容结束;TD表示换行等等。我们可以从Adobe的官方网站上下载PDF的语法说明文档,但文档几乎有1000页。如果熟悉好语法以后再编程,花费的时间肯定很长,而且生成的PDF文档不一定能满足要求。有关C# 代码参见附件。
有关PDF文件的语法详见:
http://partners.adobe.com/public/developer/en/pdf/PDFReference.pdf
2.使用第三方控件
I.开源控件
① ASP.NET FO PDF at SourceForge.net - generates XSL-FO from DataTable to render PDF
② iTextSharp at SourceForge.net
1.Examples and Tutorial: http://itextsharp.sourceforge.net/
2.Also see this article: Create PDF on the fly with .NET and iTextSharp by Valerio Fornito, DoPostBack.com
③ PDFCreator at GotDotNet - design PDF document visually using Visual Studio IDE
④ Report.NET at SourceForge.net
II.商业控件
① ABCpdf .NET by WebSupergoo - free license also available
② Apoc XSL-FO by Chive Software - generates PDF using XSL-FO
③ Aspose.Pdf by Aspose
④ DynamicPDF by ceTe Software
⑤ PDF4NET by O2 Solutions
⑥ PDFLib by PDFLib GmbH
⑦ TallPDF.NET by TallComponents - able to create PDF documents either programmatically using an object model or from XML.
Tutorial: Create and manipulate PDF documents - 100% .NET by Frank Rem (CodeProject.com)
⑧ XMLPDF by Visual Programming - converts XML to PDF
从成本考虑,使用开源控件是一个不错的选择。在我所作的项目中,就采用了iTextSharp组件,生成的PDF文件能够满足项目要求。有关iTextSharp的DLL、源代码和编码实例都可以从http://itextsharp.sourceforge.net/获得。
3.使用Acrobat Distiller
可以在C# 或者脚本文件(.js 或 .vbs)中直接调用Acrobat Distiller对象,从而生成PDF文件。但是从版权考虑,则需购买Adobe Acrobat Professional。
代码可参考以下网址:
http://dev.yesky.com/msdn/123/2101623.shtml

在C#.NET中,如何生成PDF文件?主要有以下几个途径的更多相关文章

  1. 怎么用PHP在HTML中生成PDF文件

    原文:Generate PDF from html using PHP 译文:使用PHP在html中生成PDF 译者:dwqs 利用PHP编码生成PDF文件是一个非常耗时的工作.在早期,开发者使用PH ...

  2. 在spring boot 中使用itext和itextrender生成pdf文件

    转载请注明出处 https://www.cnblogs.com/majianming/p/9539376.html 项目中需要对订单生成pdf文件,在第一版本其实已经有了比较满意的pdf文档,但是还是 ...

  3. linux下编译bib、tex生成pdf文件

    实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...

  4. ThinkPHP3.2.3扩展之生成PDF文件(MPDF)

    目前是PHP生成PDF文件最好的插件了,今天介绍下在ThinkPHP3.2.3里如何使用. 先安照路径放好如图. 下面是使用方法 public function pdf(){ //引入类库 Vendo ...

  5. [轉載]史上最强php生成pdf文件,html转pdf文件方法

    之前有个客户需要把一些html页面生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有 ...

  6. JAVA生成PDF文件

    生成PDF文件是主要应用的是ITEXT插件 import java.awt.Color; import java.io.File; import java.io.FileOutputStream; i ...

  7. 史上最强php生成pdf文件,html转pdf文件方法

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  8. java调用wkhtmltopdf生成pdf文件,美观,省事

    最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多 ...

  9. Itext生成pdf文件

    来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...

随机推荐

  1. printf 输出格式设置\033[47\033[5m 与-8.8s

    摘要:在使用linux终端命令的时候,我们可以看到像more命令,它的显示方式与一般的字符串不同,是用了反显.同样,linux C下printf还有很多其他不常见的格式化输出形式.本文主要为你盘点这些 ...

  2. VC2010 CString.Format使用报错 error C2664

    error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 ...

  3. CF gym 101933 K. King's Colors(二项式反演)

    传送门 解题思路 首先给出的树形态没用,因为除根结点外每个点只有一个父亲,它只需要保证和父亲颜色不同即可.设\(f(k)\)表示至多染了\(k\)种颜色的方案,那么\(f(k)=(k-1)^{(n-1 ...

  4. UVa455 最小周期串问题

    A character string is said to have period k if it can be formed by concatenating one or more repetit ...

  5. 如何把EXCEL数据导入到SQL SERVER数据库中 (转)

    转:http://blog.csdn.net/jjp837661103/article/details/13509889 在我们完成一个项目开发之后,通常我们需要把客户的很多数据导入到数据库中,面对大 ...

  6. ListView 分页显示(转载+修改)上

    实习工作中,分配到了一个给已经上线的android成品增加需求的任务,其中一项是给每个信息显示增加分页显示的功能(ListView的显示),于是上网查资料,看到了: 原地址:http://www.cn ...

  7. ABP的新旧版本

    新版本 https://abp.io/documents/abp/latest/Index https://github.com/abpframework/abp ABP is an open sou ...

  8. Linux的文件访问权限及修改权限命令chmod

    http://www.linuxso.com/command/chmod.html Linux的文件访问权限及修改权限命令chmod Mxx000 Mxx000 人赞同了该文章 Linux的文件访问权 ...

  9. AutoMapper用法 转载https://www.cnblogs.com/youring2/p/automapper.html

    AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 配置AutoMapper映射规则 AutoMapper是基于约定的,因此在实用映射之前 ...

  10. 25. SPI