← 返回所有博客文章

DICOM封装PDF:25天25个项目

作为LEAD Technologies 25周年纪念的一部分,我们正在搞一个“25天收集25个项目来展示LEAD功能强度和易用性”的活动。今天要展示的项目来自于乔的分享。

clip_image002

它是做什么的

该项目可以使用LEADTOOLS第19版将若干PDF文档嵌套进DICOM数据集里面。

所使用的功能

· DICOM

· PDF

开发进程日志

我是乔。我想使用标签为(0042:0011)的封装文档来创建一个可以将PDF文档作为封装文档嵌套进DICOM文件里面的项目。

我使用的是LEADTOOLS Medical Imaging 19.0。我正在使用Visual Studio2013里面的C#.NET4.5来开发这个应用程序。

启动VisualStudio以后,我选择了Windows窗体应用程序,因为要做这个演示这样是最简单的。我将Leadtools,Leadtools.Codecs,Leadtools.Dicom和Leadtools.WinForms的DLL作为引用添加到了我的项目中。

既然所有我即将需要的引用都已经具备了,我就要去使用设计器控件进行工作。我已经将两个按钮和一个RasterImageViewer控件添加到了窗体。并且,已经将按钮的点击方法链接到了我的主要窗体。第一个按钮“创建”即将被写入,它可以用来创建一个Dicom数据集,加载一个PDF文档,将该PDF文档插入到Dicom数据集,然后保存出Dicom数据集。第二个按钮 “加载”也即将被写入,它可以用来加载Dicom数据集和通过“创建”按钮创建并保存的封装稍微PDF文档。

我刚刚写完了“创建”按钮的代码。而且,我创建了一个助手方法,用来在封装文档时设置该DICOM文件的所有属性。用于封装PDF文档 的该主要方法为DicomDataSet.SetEncapsulatedDocument。非常容易操作。

Documentation: SetEncapsulatedDocument function

我刚刚写完了“加载”按钮的代码。这次我又创建了一个助手方法,用来实现PDF文档的提取。这个助手方法可以做以下三件事:

  1. 从Dicom数据集中提取PDF
  2. 打印出该Dicom数据集的所有属性
  3. 将PDF在RasterImage查看器中光栅化并显示出来

 

现在,当我运行该演示程序,只需要点击“创建”按钮就可以生成一个Dicom数据集,并嵌入一个PDF文档作为封装文档,然后将其保存出DICOM文件。点击“加载”按钮则可以加载该生成的DICOM文件,显示其属性,提取PDF文档,然后在查看器中将其光栅化并显示出来。

这个项目我花了3个小时来进行设置。创建这个应用程序时,我的时间主要花费在找出创建时应该对Dicom数据集的哪个属性进行设置。除此之外,在Dicom数据集类中需要被调用的所有方法都是相当简单的。由于没有高级别的LEADTOOLS SDK,也由于所述DICOM格式的复杂性,它可能已经花费了我好几天时间来实现。

下载该项目

该示例项目的源代码您可以从这里下载。您需要运行该项目,并将其解压缩到该目录C:\LEADTOOLS 19\Examples\DotNet\CS directory下。

支持

关于其他产品的更多信息,请访问我们的官方网站

欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。

同时欢迎您使用评估版期间的免费技术支持