PDF文件转base64显示
1,由于是net core的项目,提交的文件有图片,也有PDF文件,由于做了统一处理,都转成了base64,那么图片很好处理,那么PDF文件呢?
2,最开始想的是把PDF文件转成图片,然后再转为base64,好像这个思路也没毛病,解决问题优先嘛,找了资料发现啊,net core中插件不多,而且环境问题处理麻烦,这个还可能造成后面发布出问题,果断放弃!
3,那么后端不处理,看前端有没办法处理,那么就是把PDF文件的base64转一下,然后呈现出来,找下资料发现有个PDF.js的插件,好家伙,后面也整出来了,可是我不满意,太麻烦!
4,完成了,但是我不满意,个人喜欢简单粗暴,所以在想,图片可以直接显示base64,标签声明是图片的base64就可以了,那么改下声明呗,试了下,果然不行,找了很久发现换个标签就行了,使用iframe就可以,丢,搞了半天被一个iframe搞定了!简单粗暴
以下是代码,测试用的后端代码
private readonly ILogger<HomeController> _logger;private readonly IMessage _iMessage;private readonly IHostingEnvironment _hostingEnvironment;public HomeController(ILogger<HomeController> logger, IMessage message, IHostingEnvironment hostingEnvironment){_logger = logger;_iMessage = message;_hostingEnvironment = hostingEnvironment;}public IActionResult Index(){ViewBag.mess = _iMessage.Send();ViewData["asd"] = _iMessage.Send();_logger.LogInformation("启动首页");string webRootPath = _hostingEnvironment.WebRootPath;ViewBag.BaseStrData = getBase64str(webRootPath + @"\js\go.jpg");var paf64 = getBase64str(webRootPath + @"\js\111.pdf");ViewBag.BaseStrData2 = paf64 + "#"; //区分pdfbase64List<string> baseStrData = new List<string>();baseStrData.Add(ViewBag.BaseStrData);baseStrData.Add(ViewBag.BaseStrData2);ViewBag.BaseStrData3 = baseStrData;return View();}string getBase64str(string filePath){FileInfo file = new FileInfo(filePath);//图片处理var stream = file.OpenRead();byte[] buffer = new byte[file.Length];//读取图片字节流stream.Read(buffer, 0, Convert.ToInt32(file.Length));//将字节流转化成base64字符串var baseStr = Convert.ToBase64String(buffer);return baseStr;}
前端代码
重点代码:
@{ViewData["Title"] = "Home Page";var data = ViewBag.BaseStrData3 as List<string>;
}
<table><tr>@foreach (var item in data){if (item.Contains("#")){<td><iframe height="300" src="data:application/pdf;base64,@item.Split('#')[0].ToString()"></iframe></td>}else{<td><img id="img" height="300" src="https://img-blog.csdnimg.cn/2022010709342232709.png" class="image_click" /></td>}}</tr></table>
效果如下
一张图片,一个PDF显示,PDF上还带有些功能(下载,打印等)挺不错,样式效果啥的,自己慢慢去优化,就可以了 !
PDF文件转base64显示相关推荐
- java中pdf写成base64文件流,Java操作pdf文件与Base64编码相互转换与文件流操作
1.第一步,引入bc包的安装依赖. 在pom.xml中引入. org.bouncycastle bcprov-jdk15on 1.60 引入后reimport一下项目. 2.pdf文件转换成Base6 ...
- 在linux系统下java实现pdf导出汉字无法显示_ubuntu/Linux PDF文件中文无法显示或中文为方块的解决方法...
ubuntu1004,pdf文件有的无法显示中文,解决办法如下: 1. 先安装字体 A.sudo apt-get install xpdf-chinese-simplified; B. sudo ap ...
- PDF文件转换为Base64编码
在线base64转pdf:格式转换 包名: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...
- Java操作pdf文件与Base64编码相互转换与文件流操作
1.第一步,引入bc包的安装依赖. 在pom.xml中引入. <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jd ...
- 如何修改 pdf 文件默认的显示图标
通过修改注册表的方式,来调整 Windows10 操作系统里指定文件格式显示的默认图标,我已经在这篇文章里介绍了. 对于 pdf 格式的文件来说,同理: 找到 pdf 文件在 Windows10 系统 ...
- 无法检索文件服务器,无服务器快速无法检索pdf文件(base64编码)
我已经建立了一个快速/无服务器应用程序来检索一个GET请求的PDF文件.但我只是检索一个损坏的repsonse pdf回应.我只是想知道如果我的设置是正确的,以实现正确的回应.无服务器快速无法检索pd ...
- 实现FTP服务器免登陆下载PDF文件转base64在下载到本地|服务器
最近碰到一个问题,就是实现调用FTP服务器免登陆下载在进行展示,在这里分享下源码,能帮助到你的请点个赞呐呐呐! 上源码+注释 import java.io.ByteArrayOutputStream; ...
- php中嵌入pdf文件,使用Base64在PHP中附加PDF文件(Appending PDF Files in PHP with Base64)
使用Base64在PHP中附加PDF文件(Appending PDF Files in PHP with Base64) 我有一系列我想合并在一起的base64 PDF文件. 目前我正在使用file_ ...
- html 加载pdf文件内容不显示不出来,pdf.js首次加载pdf文件时找不到pdf文件,刷新后才能出现pdf文件...
前台点击文件学码的定一近,更工广款近,更工广款近,更名后,后台通过openoffice将doc文件转为pdf格式文件,然后存放在服务器tomcat'中,pdf.js首次加载服务器中tomcat中的转化 ...
- C#PDF转图片,支持批量转,支持PDF文件,BASE64转换为图片文件,BASE64,支持合并PDF为一张图
大家好呀,我是一名Java开发工程师,最近公司项目遇到PDF转图片超时问题,经过排查,PDF文件大概在2-3M左右,使用pdfbox转换大概7-8秒(并且存在转换空白的问题),使用icepdf更长,经 ...
最新文章
- ORACLE 定时执行存储过程
- ubuntu apache服务器和gitweb服务器搭建
- python判断水仙花数
- OpenBUGS抽样数据基本操作
- 凌云一周看点 | 混合云多Region架构;云上用户定制化网络;边缘云全站加速;什么是操作系统的云原生...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者
- 计算机大学离散数学难吗,大学离散数学怎么学
- 什么软件可以测试电信网速,测试网速的简单的三种方法
- 周立功串口服务器维修方法,周立功医生| 告诉你RS485通信的小秘密
- AI实现矢量图片批量转dwg
- 60天使用百词斩背单词的感想
- excel颠倒顺序从下到上排列的两种方法
- 100%解决GitHub打不开或者打开慢
- TPS和QPS的区别和理解
- java 组件是什么意思_java中组件是什么意思?
- matlab 条件方程组的解,solve 时解方程组的限制条件问题
- 装修店铺营销活动策划?
- 蒜头君给出若干个整数,询问其中是否有一对数的和等于给定的数。
- #NAME?_#NAME?:EXCEL表中出现#NAME是什么意思?
- 电动汽车充放电最优调度 研究了EV充电和放电的调度优化问题 我们首先制定全局调度优化问题,其中优化充电功率以最小化所有在白天执行充电和放电的EV的总成本