在ASP.NET中创建PDF - iTextSharp入门

.NET Framework不包含任何使用PDF文件的本地方法。因此,如果要生成或使用作为ASP.NET Web应用程序的一部分的PDF文件,则必须依赖于可用的许多第三方组件之一。谷歌将帮助您找到适合您预算的一个,以及一系列开源免费组件。其中一个免费组件是 itextsharp.,这是一个众所周知的Java实用程序的端口, 迭代.

ItextSharp的主要问题是它缺乏文档。有一些基本教程可用,但大多数程序员都必须诉诸试图与之搏斗 为Java版提供的文档 - itext - 与组件一起使用,或者您可能要购买这本书 itext在行动中。但是,这仅提供Java的指导。许多代码示例可转换为C#而无需大量修改,但如果您对C#相对较新,则可能在两个版本之间的类和方法名称中的无证或差别差异遭到挫败。因此,作为一系列如何撰写文章的一部分,这里是如何使用C#中使用代码示例的ItextSharp开始。

首先要做的就是 安装nuget包。。 DLL将被复制到您的BIN目录,现在可供网站或项目。请注意,此链接将您带到旧版本的Itextharp(4.1.6)而不是更高版本5版本。出于此的原因是,版本5可根据不同的许可证提供,要求您使应用程序的所有源代码作为开源购买,或者在商业项目中购买商业许可证以在商业项目中使用ItextSharp。版本4不适用这些限制。我对Itextharp写的所有文章都基于任何事件的版本4.1.6,它们可能无法使用版本5。

我还添加了一个名为PDF的文件夹,其中我计划存储我生成的文件。为避免键入对DLL的完整引用,最好将几个使用语句添加到代码后面的默认语句:

使用 iTextSharp.text;

使用 iTextSharp.text.pdf;

您还想引用 system.io.,您将在创建,打开和关闭文件,并且需要在此命名空间中的类。

ItextSharp中的主要对象是 文档 目的。您需要创建一个实例,以便能够在内存中使用PDF。所以,首先要做的是实例化:

 

var. doc1 = 新的 文档();

 

这在内存中创建了一个PDF文档对象,默认设置。默认情况下,文档的大小为A4(尺寸为210mm x 297mm,或8.26英寸x 11.69英寸)。边缘设定在半圆形的一英寸。下一件事是将文档提交到磁盘。这 迭代harp.text.pdf.pdfwriter. 课程是必需的:

 

//使用变量允许我的代码适合页面...

细绳 path = server.mappath(“pdfs”);

pdfwriter..getInstance(DOC1, 新的 filestream(路径+ “/doc1.pdf”, filemode.。创造));

 

现在要开始实际使用文档,请打开它,添加新段落,然后关闭它:

 

doc1.open();

doc1.add(新的 段落(“我的第一个pdf”));

doc1.close();

 

就是这样!如果在网站中刷新PDFS文件夹,您将看到新的项目 - Doc1.pdf - 已添加,并打开它将揭示您的成功。

但是,它可能是您不想始终使用默认大小和边值创建PDF,因此Itextharp提供了定制这些设置的方法。文档对象有2个另构造函数:

 

上市 文档(ItextSharp.text。长方形 pageSize);

上市 文档(ItextSharp.text。长方形 页面大小, 漂浮, 漂浮, 漂浮, 漂浮);

 

第一个可以像这样用:

 

var. doc = 新的 文档(页面大小.A5);

 

页面大小 类包含许多 长方形 代表最常见的纸张大小的对象从A0到A10,B0到B10,法律,分类帐,字母,明信片,小报等。如果要应用不可用的自定义大小 页面大小 类,你定义自己的 长方形 对象,设置其属性并将其传递到构造函数中作为参数:

 

var. doc = 新的 文档(新的 长方形(100f,300f));

pdfwriter..getInstance(Doc, 新的 filestream(路径+ “/doc2.pdf”, filemode.。创造));

doc.oden();

doc.add(新的 段落(“这是一个自定义大小”));

doc.close();

 

在这种情况下,使用宽度为100分的PDF文档,高度设置为300点。一英寸有72分,所以这个特定的文件不是很大。事实上1.39英寸x 4.17英寸。 (你可能会发现它以及ItextSharp.dll,计算器将非常方便......)。

采用矩形对象和一系列4个浮点值的第二构造函数允许您通过浮点设置自定义边距。同样,这些值在点中测量。默认半英寸的边距为36分。

如果使用Pagesize类构造函数或直接矩形,则还可以设置文档的背景颜色。这可以使用RGB颜色值或 CMYK. (青色 - 一种蓝色,洋红色 - 粉红色,黄色和"Key"或黑色)。它曾经是,如果您想通过专业的平版打印机准备PDF,您必须确保所有颜色都是CMYK,但随着印刷公司的数字印刷采用,RGB变得越来越可接受。当然,在网上显示,RGB是优选的。要设置背景颜色,我们使用 背景颜色财产的财产 长方形 object:

 

R.BackgroundColor =. 新的 cmykcolor.(25,90,25,0);

R.BackgroundColor =. 新的 颜色(191,64,124);

 

以上两个都会导致文档的粉红色颜色相当捕获。

本文引入了iTextSharp,并且应该提供起点。后续文章检查了这一相当自然组件提供的一系列功能和功能。他们可以在这里找到: