Spire.Doc具有在 C# 和 VB.NET 中操作 RTF 文件格式的强大能力。通过使用 Spire.Doc,开发人员可以将 RTF 转换为 PDF、HTML和 .doc、.docx 格式的 word 文档。本文将向您展示如何将 RTF 转换为图像,然后重置图像分辨率。

Spire.Doc for.NET 最新下载

下载并安装 Spire.Doc for .NET,然后通过以下路径在下载的 Bin 文件夹中添加 Spire.Doc.dll 作为参考:“..\Spire.Doc\Bin\NET4.0\ Spire.Doc.dll”。下面详细介绍如何在 C# 中将 RTF 转换为 PNG 和重置图像分辨率。

第 1 步创建一个新文档并从文件加载。

Document doc = new Document();
doc.LoadFromFile("sample.rtf", FileFormat.Rtf);

第 2 步将 RTF 保存到图像。

Image[] images = doc.SaveToImages(Spire.Doc.Documents.ImageType.Metafile);

第 3 步遍历图片列表中的元素,保存为.Png格式。

for (int i = 0; i < images.Length; i++)
{
Metafile mf = images[i] as Metafile;
Image newimage = ResetResolution(mf, 200);
string outputfile = String.Format("image-{0}.png", i);
newimage.Save(outputfile, System.Drawing.Imaging.ImageFormat.Png);
}

第 4 步设置图像分辨率调用方法:ResetResolution。

public static Image ResetResolution(Metafile mf, float resolution)
{
int width = (int)(mf.Width * resolution / mf.HorizontalResolution);
int height = (int)(mf.Height * resolution / mf.VerticalResolution);
Bitmap bmp = new Bitmap(width, height);
bmp.SetResolution(resolution, resolution);
using (Graphics g = Graphics.FromImage(bmp))
{
g.DrawImage(mf, Point.Empty);
}
return bmp;
}

重置图片分辨率前图片的有效截图:

重置图像分辨率后的图像


完整代码:

using Spire.Doc;
using System.Drawing;
using System.Drawing.Imaging;namespace RTFtoImage
{
class Program
{
static void Main(string[] args)
{
//Create a new document and load from file.
Document doc = new Document();
doc.LoadFromFile("sample.rtf", FileFormat.Rtf);
// save the RTF to image
Image[] images = doc.SaveToImages(Spire.Doc.Documents.ImageType.Metafile);
for (int i = 0; i < images.Length; i++)
{
Metafile mf = images[i] as Metafile;
Image newimage = ResetResolution(mf, 200);
string outputfile = String.Format("image-{0}.png", i);
newimage.Save(outputfile, System.Drawing.Imaging.ImageFormat.Png);
}
}
//set the image resolution by the ResetResolution() method
public static Image ResetResolution(Metafile mf, float resolution)
{
int width = (int)(mf.Width * resolution / mf.HorizontalResolution);
int height = (int)(mf.Height * resolution / mf.VerticalResolution);
Bitmap bmp = new Bitmap(width, height);
bmp.SetResolution(resolution, resolution);
using (Graphics g = Graphics.FromImage(bmp))
{
g.DrawImage(mf, Point.Empty);
}
return bmp;
}
}
}

欢迎下载|体验更多E-iceblue产品

Word控件Spire.Doc 转换教程(十八): 将 RTF 转换为图像并重置图像分辨率相关推荐

  1. Word控件Spire.Doc 转换教程(十二):如何将 Word 转换为 EPub、XPS、Emf

    本文将介绍一种通过名为 Spire.Doc 的强大且独立的Word .NET 组件将 Word 转换为 EPub.XPS.Emf的简单方法,无需在机器上安装 Microsoft Word.它还支持将 ...

  2. Word控件Spire.Doc 转换教程(十五):在 C# 中将 HTML 文件转换为 PDF 和 XPS

    HTML 文件广泛用于收集数据,出于安全,我们需要将其转换为 PDF 和 XPS 格式的可打印文档.您可以使用Spire.PDF轻松地将 URL 中的 HTML 页面转换为高质量的 PDF.本文将重点 ...

  3. Word控件Spire.Doc 转换教程(十三):在word文档和HTML中嵌入图像支持

    将 Word 文档转换为 HTML 很流行,并被程序员和开发人员广泛使用.借助Spire.Doc for .NET这个专业的word组件,无需安装MS Word,开发者只需两行C#关键代码即可将wor ...

  4. Word控件Spire.Doc 转换教程(十一):如何将 HTML 转换为图像

    Spire.Doc 可以帮助用户使用 C#/VB.NET 将HTML 转换为 Image.该解决方案使用户可以随时随地通过手机.MP4播放器.PSP.iPad.iTouch等便携式设备阅读HTML.按 ...

  5. Word控件Spire.Doc 转换教程(二十五):在 C#、VB.NET 中将 ODT 转换为 DOC

    具有 .ODT 文件扩展名的文件是 OpenDocument 文本文档文件.这些文件通常由免费的 OpenOffice Writer 文字处理器程序创建.ODT 文件类似于与 Microsoft Wo ...

  6. Word控件Spire.Doc 转换教程(二十八):将 Word 转换为 PCL

    PCL 文件是以打印机命令语言(通常称为 PCL)页面描述语言创建的数字打印文档.从v7.1.19 开始,Spire.Doc 支持将 word 文档转换为 PCL.PCL文件的标准有很多种:这里的 P ...

  7. Word控件Spire.Doc 转换教程(二十六):在 C#、VB.NET 中将 Word 转换为 EPUB 时添加封面图片

    我们之前介绍如何将 Word 转换为 EPUB的文档.但是,在从 Word 文档创建 EPUB 图书时,您可能希望将封面图像添加到 EPUB.以下代码片段将演示相同的内容. Spire.Doc for ...

  8. Word控件Spire.Doc 转换教程(二十三):保留或禁用从 Word 到 PDF 转换的超链接

    超链接为读者提供了更多的附加信息,它被广泛用于我们的 word 文档.Spire.Doc 具有强大的超链接文字元素操作功能.开发者可以在word文档中添加.修改和删除超链接.Spire.Doc for ...

  9. Word控件Spire.Doc 转换教程(九):在 Doc 转PDF 转换期间设置图像质量

    您可能会好奇为什么我们在将Doc 转换为 PDF时设置图像质量.在我们转换Word文档后,尤其是文档中有很多图像,输出的PDF文档的大小明显大于原始的Doc文件.现在,Spire.Doc 新版本的新功 ...

最新文章

  1. SAP PM 初级系列17 - 维修工单相关的Task List
  2. Enumerator a Composite Structure
  3. pb 窗口数据修改sql_大数据hadoop,数据中台选型你应该看到这些分布式数据库
  4. 论文阅读丨神经清洁: 神经网络中的后门攻击识别与缓解
  5. 网页Object标签 遮盖DIV标签解决方法
  6. Java基础学习总结(119)——Java8 JVM与Java7 JVM比较
  7. KeyMob手机聚合平台已集成多家移动广告平台
  8. 洛谷 P2488 [SDOI2011]工作安排
  9. 重定向与请求转发的区别
  10. apache2: unrecognized service
  11. MDUI中Select初始化问题
  12. 【mmdetection3d】——3D 目标检测 KITTI 数据集
  13. 安卓Toast显示流程分析
  14. js找出两个数组中的重复项
  15. Linux内核 之 GDT LDT与分段
  16. pyraformer: low-complexity pyramidal attention for long-range time series modeling and forecasting
  17. 5月末跟大家讲讲webpack(生日篇)
  18. Jenkins安装插件报错解决方法
  19. 真是没有预料到,一款推送全国公考信息的app开发用了一年时间
  20. 电子邮件服务器的ip地址_可用的不同类型的IP地址

热门文章

  1. Win10离线安装.NET Framework 3.5的方法技巧(附离线安装包下载)
  2. CentOS安装配置tomcat
  3. Keras之model.fit_generator()的使用
  4. c语言程序设计分值,计算机考试题分值分布
  5. NOIP学习之循环控制:26.质因数分解
  6. 超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)
  7. C++实现大数加减法
  8. 从0开始搭建深度学习环境-Pytorch-GPU
  9. 个人喜欢的歌曲——女生篇
  10. Zerotier 搭建moon