C#PDF库来操纵PDF

时间:2016-08-23 08:36:25

标签: c# pdf

我们的医疗仪器生成患者数据和图像。医院希望收到一份PDF文件,其中包含患者详细信息和图像,格式非常具体 - A4页面,特定地点的条形码,特定页面边距等。

我不想在代码中逐行地从空白画布中汇编此PDF,因为如果我这样做,我将不得不编写数千行代码,当我们有不同的客户需要不同的格式时那么我们需要再次重写这几千行代码。而且,如果客户想要对格式进行小幅改动,我们需要做一个新版本。

我希望以“邮件合并”方式实现:我创建了一个报告模板,一个包含条形码,页眉和页脚以及所有其他静态内容的全文档文档。模板中有患者详细信息和图像的特殊占位符,例如“[@ PatinetFirstName @]”,“[@ PatientLastName @]”,“[@ PatientPreviousVisitsTable @]”,......然后,对于每位患者,我的代码将复制此模板,找到那些特殊占位符,并用真实数据或图像替换它们。这样,如果不同的客户端需要不同的格式,我需要做的就是编辑这个模板,我的代码保持不变。

这意味着我需要能够使用此库在现有PDF中进行搜索和替换,在任何地方插入段落,表格和图像,并能够指定段落,表格和大小的格式。图像的分辨率。

我该怎么办?我的意思是,是否有允许我这样做的C#API?

2 个答案:

答案 0 :(得分:2)

我建议您查看Html Renderer for PDFSharp (NuGet)。您可以使用它将Html转换为PDF。

这意味着您可以将模板(包括@占位符)保留在数据库中,并使用值动态填充Html模板并将其转换为PDF。如果您以后需要更改格式,只需更改Html模板即可。

对于搜索和替换,如果在转换为PDF之前存储Html标记,则可以在Html标记中进行搜索和替换,然后从新的Html标记重新生成PDF。

生成PDF以发送给客户端。但是处理所有其他系统处理的原始Html。

答案 1 :(得分:1)

您可以尝试https://sourceforge.net/projects/itextsharp/。一个精彩的图书馆,可以通过创建,更新和许多其他功能,为PDF做任何事情。还可以添加图像,段落和表格。