1.spire

官方的有水印,通过引用

 //private readonly static PdfDocument doc = new PdfDocument();
//public static Stream PtfToPng(string FileInfo)
//{
//byte[] by = Convert.FromBase64String(FileInfo);
//doc.LoadFromBytes(by);
//Image bmp = doc.SaveAsImage(0);//默认第一页
//return ImageToStream(bmp);
或者
//遍历PDF每一页
//for (int i = 0; i < doc.Pages.Count; i++)
//{
// //将PDF页转换成Bitmap图形
// Image bmp = doc.SaveAsImage(i);
// //将Bitmap图形保存为Png格式的图片
// string fileName = string.Format("Page-{0}.png", i + 1);
// bmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Png);
//}
//}

2.

Install-Package PdfiumViewer -Version 2.13.0

Install-Package ImageResizer.Plugins.PdfiumRenderer.Pdfium.Dll -Version 1.0.1

        /// <summary>
/// ptf转图片流
/// </summary>
/// FileInf base64string
/// <returns></returns>
public static Stream PtfToPng(string FileInfo)
{
byte[] by = Convert.FromBase64String(FileInfo);
Stream sm = new MemoryStream(by);
using (var document = PdfiumViewer.PdfDocument.Load(sm))
{
var size = document.PageSizes[];
Image ig = document.Render(, (int)size.Width, (int)size.Height, , , PdfiumViewer.PdfRenderFlags.Annotations);
return ImageToStream(ig);
}
} /// <summary>
/// 返回图片流
/// </summary>
public static Stream ImageToStream(Image img)
{
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms;
}

3.aspose.ptf,最下方有方块,

private Stream ConvertToImage(Stream sm)
{
Document doc = new Document(sm);
if (doc == null)
Console.Write(doc);
MemoryStream stream = new MemoryStream();
Resolution reso = new Resolution();
JpegDevice jpegDevice = new JpegDevice(reso, );
jpegDevice.Process(doc.Pages[], stream);
return stream;
// //Image img = Image.FromStream(stream);
}

4.O2S.Components.PDFRender4NET

 /// <summary>
/// 将PDF文档转换为图片的方法
/// </summary>
/// <param name="definition">设置图片的清晰度,数字越大越清晰(1-10)</param>
public static Stream ConvertPdfImage(string Base64, int definition)
{
byte[] by = Convert.FromBase64String(Base64);
Stream sm = new MemoryStream(by);
PDFFile pdfFile = PDFFile.Open(sm);
Bitmap pageImage = pdfFile.GetPageImage(, * definition);
pdfFile.Dispose();
return ImageToStream(pageImage);
} /// <summary>
/// 返回图片流
/// </summary>
public static Stream ImageToStream(Image img)
{
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms;
}

无水印的O2S.Components.PDFRender4NET地址https://pan.baidu.com/s/1h8Zb4j4ofUnS4ZBoHJecHQ        码:cum8

ptf转图片的更多相关文章

  1. wpf 模拟3D效果(和手机浏览图片效果相似)(附源码)

    原文 wpf 模拟3D效果(和手机浏览图片效果相似)(附源码) pf的3D是一个很有意思的东西,类似于ps的效果,类似于电影动画的效果,因为动画的效果,(对于3D基础的摄像机,光源,之类不介绍,对于依 ...

  2. webp图片实践之路

    最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...

  3. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  4. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  5. Markdown 图片助手-MarkdownPicPicker

    title: Markdown 图片助手 v0.1 toc: true comments: true date: 2016-06-04 16:40:06 tags: [Python, Markdown ...

  6. 图片访问实时处理的实现(nodejs和php)

    我在访问时光网.网易云音乐等网站时,发现将它们页面中的一些图片URL修改一下就可以得到不同尺寸的图片,于是思考了其实现方案,我的思路是:URL Rewrite + 实时处理 + 缓存,对用户请求的UR ...

  7. nodejs进阶(4)—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

  8. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  9. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

随机推荐

  1. HDU2795线段树入门 简单查询和修改

    http://acm.hdu.edu.cn/showproblem.php?pid=2795 #include<iostream> using namespace std; ; int h ...

  2. Linux下 安装jdk8

    一.文件准备 1.1 文件名称 jdk-8u121-linux-x64.tar.gz 1.2 下载地址 http://www.oracle.com/technetwork/java/javase/do ...

  3. redis数据类型及订阅操作

    Redis数据类型详解 Redis键/值介绍 Redis key值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如“foo”的简单字符串到一个JPG文件的内容都可以.空字符串也是有效k ...

  4. Fragment向下兼容

    * android-support-v4都用这个包里的类* 让activity继承FragmentActivity* 获取管理器 getSupportFragmentManager();

  5. [Ubuntu]18安装navicat 破解版&官方版本

    破解版本: 一.下载破解版的navicat  链接:https://pan.baidu.com/s/1ulptSderoG0EbEQpO3Adww提取码:8oc3 二.解压到桌面 在下载压缩文件之后, ...

  6. Oracle 对某张表中的某一列进行取余,将结果集分为多个集合

    比如分为 5个集合,那么就用某一列和5 取余 ,分别可以取  余数为 0.1.2.3.4 的结果集,那么就把集合分为5个小的集合了 1.取余数为 0 的集合 select * from (select ...

  7. redis运维手册

    版本采用:redis-3.2.11.tar.gz 官网下载地址:https://redis.io/download 1.redis服务器资源 redis服务器基础配置CPU2核.内存按需分配,系统磁盘 ...

  8. Java 实现判断 主机是否能 ping 通

    Java 实现判断 主机是否能 ping 通 代码实现如下: import java.io.IOException; import java.net.InetAddress; import java. ...

  9. VMware中为CentOS配置静态ip并可访问网络-windows下的VMware

    首先确保虚拟网卡(VMware Network Adapter VMnet8)是开启的,然后在windows的命令行里输入“ipconfig /all”,找到VMware Network Adapte ...

  10. Comparator接口实现排序

    对任意类型集合对象进行整体排序,排序时将此接口的实现传递给Collections.sort方法或者Arrays.sort方法排序.实现int compare(T o1, T o2);方法,返回正数,零 ...