❶ 如何实现springmvc将返回的给前端的pdf文件放在浏览器里预览
1,在web路径下建立一个uploadFiles文件夹。2,在springMVC里映射PDF文件就像映射静态文件那样。<mvc:resources mapping="/pdf/**" location="/uploadFiles/"/>3,写个controller返回PDF的URL路径。@Controller@CrossOrigin(origins = "*")public class PDFController { @ResponseBody @RequestMapping(value = "/pdf", method = RequestMethod.GET) public String pdfDownload() throws IOException { String retString = null; String dir = XXXX文件在服务器中路径。 String path = httpServletRequest.getRequestURL() + dir.substring(dir.lastIndexOf('\\')); retString = path.replaceAll("\\\\","/"); Map<String,Object >map = new HashMap<>(); map.put("code",0); map.put("pdf",retString); return jsON.toJSONString(map); }}4,返回的JSON数据。{"code":0,"pdf":"8080/pdf/1472128890165sample.pdf"},前面加上http://127.0.0.1:。5,浏览器中直接打开pdf这个url就可以预览PDF啦。
❷ 怎么实现前端HTML页面在线预览服务器传来的PDF和Word文件
首先我们想要实现在线浏览PDF文件,但是要知道想要将PDF文件进行在线浏览的话就只能使用一些在先浏览工具,我正好知道一个在线浏览网站挺不错的,使用起来很方便,小伙伴们可以自己去尝试这使用一下!
a.首先我们将浏览器进行打开,然后在网上搜索“迅捷PDF在线编辑”就可以搜索可以在先浏览的网站了
以上就是小编自己的看法,希望对小伙伴们有所帮助!
❸ 用webservice接收pdf文件的二进制字符串,在java项目中如何把二进制字符串转换成pdf
JasperReports, 你可以上网查一下这个技术。我们现在做的项目就是应用这个技术的。用iReport生成一个.jasper模板文件,然后用java代码读取这个文件并向其中set值(读取jasper文件的方法你应该知道吧,就是利用java的io,比如用File:File reportFile = new File(reportFilePath);),然后再用jasperreporst封装好的方法(比如JasperExportManager.exportReportToPdfStream这个方法,当然,你需要先导入对应的jar包)生成最终生成的pdf文件中就含有java代码set进去的值了。由于正在做的项目包含这个技术,所以就给你讲讲,不明白的地方可以一起讨论。
❹ php 如何实现在线预览文件如:txt,doc,pdf等
第一种 预览$file = fopen($path,"r"); // 打开文件// 输入文件标签Header("Content-type: application/pdf");// Header("filename:" . $file_name);// 输出文件内容echo fread($file,filesize($path));fclose($file);第二种下载Header("Content-type: application/pdf");// 文件将被称为 downloaded.pdfheader("Content-Disposition:attachment;filename='downloaded.pdf'");readfile($path);第三种预览Header("Content-type: application/pdf");// 文件将被称为 downloaded.pdfheader("Content-Disposition:inline;filename='downloaded.pdf'");readfile($path);第四种下载$file = fopen($path,"r"); // 打开文件// 输入文件标签Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length: ".filesize($path));Header("Content-Disposition: attachment; filename=" . $file_name);// 输出文件内容echo fread($file,filesize($path));fclose($file);
❺ java怎么实现读取一个文件,拿到二进制流
InputStream 就是读取二进制文件的, 任何文件都可以用这个流来读, 也叫字节输入流
❻ 前台js 如何使用pdf.js预览pdf文件流(base64)
将pdf流生成pdf文件源,然后在将pdf文件使用PDF.js进行查看。你需要考虑浏览器兼容性,低版本浏览器可能没办法支持。参照 File API 和URL API(URL.createObjectURL())
❼ PDF是二进制文件,怎么能在google上收到文件里头的内容,其原理是什么
两种方式:1.快速方式:在PDF文档的Info(信息结构)里可以放一些索引和关键词信息,搜索引擎只要找到这些内容就可以了.就跟网页的头里添加的关键词是一样的.这个部分我们甚至可以用文本模式进行理解.2.深入查找:一般不使用,计算量很大,效率低,除非搜索引擎公司进行大量的前期工作,比如google对美国大学图书馆的搜索工作.用类似与reader的解释器把文章的实际内容部分用指定的解压解密方式打开,分析内部文字结构位置等信息,智能排版恢复出原始文本的信息.加以搜索.
❽ 如何创建pdf的buffer,让pdf.js实现预览pdf文件
纯Java的解决方案:我们首先想到的自然就是JDK1.4提供的JPS(JavaPrintingService)啦,不过,这东西虽然说支持PDF的Flavor,但是,不管是个人实验还是网上他人的评论,好像根本就是useless,可能如果说你的打印机Driver支持PDF的Flavor的话,JPS会检测到你的driver的这个特性,能够成功的打印PDF文档出来,但是,大部分情况下,这种情形是不成立的,故此JPS死路一条啦!让我们看看PDF的老家Adobe那里有没有什么法宝,我们发现一个ViewerBean的组件,说是可以将PDF以Bean组件的方式潜入到Swing中,哇,太爽了,不过慢着,协议上说不提供任何支持,也不保证不出任何问题,管那么些,试过再说,一实验才知道,靠,Exception频发,而且这个组件较为陈旧,还是扔一边吧!还有一个PDFBox,OpenSource的,不过对中文支持不好,而且好像开发进度也不是很好,没有发布一个正式的版本,基本上不能用于生产环境;最后,求助于Commercial的产品吧,实验了一下ActiveTree的JPrint,感觉不错,完全可以胜任我们的需求而且恰到好处,不过授权费很贵,Email问过之后的答复是2000USD的最低购买,呵呵,虽然日本人很有钱,但也心疼这个银子啊,所以最终也得作罢!(ActiveTree的授权其实挺令我ft的,他其实在2003年的时候是可以免费使用的,但之后就变卦了,呵呵,当时记得我还给提过一些bug之类,算了,人家做出这个东西也不容易)其他商业产品也是价格不菲,所以,基本上纯Java的solution到这里就否决了,让我们看Java-Com的解决方案吧!Java-Com的解决方案:在前一条路走不通之后,我痛定思痛,决定转向自己不熟悉的领域,ms的领地,我打算从Java中调用Com组件,由Com组件来帮助我们实现PDF的打印工作,不够这条路也不是一帆风顺那!我们知道,AcrobatReader在发布的时候会随同发布一个支持浏览器的com组件用来manipulate他的这个PDF文档格式,所以,我们想要本地调用这个随同发布的Com组件来实现PDF打印。虽然Version5,6,7的这个组件格式不一样(5,6是以ocx的格式发布,7是以dll的格式发布),但是,不管那么些,先从7开始吧!要调用com,那么我们需要一个从java到com的Bridge,所以,jacob第一个跃入我的脑海,因为之前就用过嘛!但是麻烦来了,我们并不知道这个com组件提供了那些调用接口啊!哎,没法,回学校求教熟悉.net的同学,给好不容易弄出几个需要的调用方法(哎,可怜我的周末啊),星期一就回来用jacob调用啦,可是左试右试就是一直抛异常,我那个气啊!难道是jacob的为问题?!我就又找了jcom和jcom2等类似的产品,但jcom全是日文文档,没有法,而jcom2估计也是一个德行(我忘了为什么当初否决了这个),所以就决定试一试商业产品吧!这方面的商业产品主要有J-Integra,JPanel(好像叫这个名字)以及一个叫JNIWrapper的产品(这个是一个人用用来演示在java中使用Acrobat5打印PDF的时候提到的)。这些商业产品好的地方就是他可以根据某个你要调用的com组件为你自动生成相应的Proxy对象java代码,这样你就可以直接调用你熟悉的java代码了。像jacob等开源项目,如果给出一个类似的codegeneration工具的话,就完全不逊于这些商业产品啦。鉴于商业产品的价格,我最终还是否决了这些(日本人其实也听抠门的)。这样,Java-com也对这个问题没辙了。不过,最后在我的解决方案中,我还是使用了Jacob,这是后话,暂且不提那我们考虑一下,如果PDF打印不行,打印其他格式行不行?!比如图片,这个JPS可以完全打印,所以,我们找一下有没有将PDF格式转换为其他格式的工具吧!PDF格式转换的解决方案:在这个领域,主要的就是有GhostScript/GView和ImageMagick,前者可以将PDF格式转换为PostScript格式,但是好像GhostScript也不能用JPS完全打印出来;而后者是一个将PDF转换为Image的API工具,他的Java实现叫JMagick,但他有一个跟GhostScript同样的问题,就是要转换,就必须在本地安装,然后通过命令行的方式调用,这个显然也不是很好,而且集成性很差,还是作罢!剩下的一个是命令行调用啦,这是从itext网站找到的,你可以通过在命令行运行AcroRd32/p/h"pathtoPDFfile"这样的命令来打印你要打印的PDF文件,当然,你可以在PDF文件生成后就将他们依次放入一个批处理文件来执行这些打印命令,但是这个方案唯一的问题就是,每打印一个文件都会启动一个AcrobatReader窗口而且必须手动关闭,这现在不能满足目前的系统要求。好了,所有的方案基本上都罗列完了,也没有找到一个可行的方案:-((没有银子嘛,不然Activetree的JPrint不错的说)这些东西差不多郁闷了我3,4天吧,那几天简直就是boredtodeath.不过,在郁闷的这几天的结尾,却有一道灵光闪过我的脑海能不能说启动一个打印service,当文档要打印的时候,直接发送给它就行了那?!而恰好我发现一段在网页中加载PDF文档的Javascript代码,而且完全可以使用js来控制PDF的打印,所以,最终的这个方案就浮出水面了1-使用jacob启动一个IE进程,并隐藏IE窗口;if(ieAutomation==null)ieAutomation=newActiveXComponent("InternetExplorer.Application");ieAutomation.setProperty("Visible",newVariant(false));2-PDF前端在生成PDF文件之后发送生成后的文件到JacobPDFPrinter,JacobPDFPrinter根据出入的PDF文件的全路径使用Velocity模板引擎动态生成一个包含使用Javascript代码实现的PDF打印逻辑的HTML文档(当然,使用Velocity生成文档这部分逻辑我们单独抽出到VeloIEPrinterGenerator类中);3-在HTML生成之后,在JacobPDFPrinter中就可以使用jacob调用IE的Navigate2,将IE重定向到刚才生成的这个HTML文件啦,这样,IE就会在后台调用JS代码将PDF打印到默认打印机;4-打印成功之后,清除临时动态生成的HTML文件;5-当主程序退出之前,Quit后台IE进程。以上就是我能给出的一个solution,并不完美,但itworks.需要注意的几个问题是:(1)需要设置IE的一个高级选项,运行本地脚本运行;(2)因为Java和Com线程模型的不一致,导致在最终Quit后台IE进程的时候会抛出Com调用异常,因为对于Win平台API以及相关编程模型不是很熟悉,所以,这个问题需要求助于别人帮忙解决;(3)IE在执行JS打印PDF的时候,同样会后台启动Acrobat的一个进程,而这个进程我们程序中无法控制其生命周期,所以,主程序退出后,我们没有法同时kill这个进程,好在不管我们运行多少次,这个进程在后台只有一个,所以,性能负担不是很大;转载
❾ java 数据库中2进制流image转成PDF
FileUtils.writeByteArrayToFile(new File("xx.pdf"),p.getBytes());一般存到抄数据袭库的二进制流都是经过加密的,常用的是base64byte[]bytes = new BASE64Decoder().decodeBuffer(p);FileUtils.writeByteArrayToFile(new File("xx.pdf"),bytes);
❿ 我的PDF文件用Front page 打开 显示文件包含二进制数据 应该怎么打开 用 HTML,RTF,还是文本
PDF格式的文件通常不用Front page打开。有些PDF文件阅读器可以使用, 如:Adobe 的 acrobat reader
未经允许不得转载:山九号 » 前端实现预览二进制流pdf文件|java怎么实现读取一个文件拿到二进制流