精华内容
下载资源
问答
  • 解决pdf.js下载PDF文件名称中文乱码和带.pdf后缀名问题 其实正儿八经的说,PDF文件名称这不算是一个乱码问题。 为什么这么说呢,因为我们看到的文件名称中杂乱无章的编码其实就是js把中文进行了编码而已,和真正...

    解决pdf.js下载PDF文件名称中文乱码和不带.pdf后缀名问题

    其实正儿八经的说,PDF文件名称这不算是一个乱码问题。

    为什么这么说呢,因为我们看到的文件名称中杂乱无章的编码其实就是js把中文进行了编码而已,和真正的因为编码错误造成的乱码并不一样。

    【心急的同学可以直接翻到最下面看:- 解决方法-】

    我们看先错误出现的场景:

    • 我使用pdf.js预览了一个叫做02010204_钢筋安装检验批质量验收记录_02010204016.pdf的文件,然后我点击pdf工具栏的下载时,给我生成的文件名是这样的:
      在这里插入图片描述
    • 我们从这个生成的名称中,可以看出,文件名称中非中文的字符都是正常的,中文的字符是不正常的,我们要解决的就是这个问题。

    造成的原因:

    • 网上的方法我也看了很多,比较常见的就是把我们要预览的地址先进行编码,使用JavaScript的encodeURIComponent()方法,还有在html中引入viewer.js 的script里指定charset="gb2312"。这些方法我都试了一下,结论是:不适用我这个情况。【其实就是加没加没啥变化】

    • 不得已,翻了一下viewer.js关于下载这一部分的代码,还真让我发现了原因:
      在这里插入图片描述

      在这里,viewer.js已经帮我们对文件名称进行了编码,所以我下载时生成的文件名就是编码过后的。

    解决方法:

    • 知道了原因,那解决方法就不难想了,对文件名进行解码,使用JavaScript的decodeURIComponent()方法。

    • 找到viewer.js中的_download()方法
      在这里插入图片描述
      把我红框框柱的代码替换成下面的代码即可:

      a.download = decodeURIComponent(filename);
      

    最终效果:

    • 至此,就搞定了,说了这么多其实就是换一行代码的事情,其实主要还是让大家了解一下寻找问题的过程,思想很重啊哟,哈哈。【附:效果图】。
      在这里插入图片描述

    在这里说一下.pdf后缀的问题:

    有些时候我们下载pdf进入到上图(最终效果图)界面后会碰到文件名的后缀没有带 .pdf 的,这种情况下载下来的是pdf文件,但是没有后缀名,而且下载下来因为没有后缀名有时候没法直接打开,需要手动的加上.pdf后缀名。

    要解决这个问题也很简单,还是从download的时候的文件名入手:

    // 判断文件名是否以.pdf文件
    if(decodeURIComponent(filename).endsWith('.pdf')){
      a.download = decodeURIComponent(filename);
    } else {
      a.download = decodeURIComponent(filename) + '.pdf'
    }
    

    只需要判断一下,如果没有.pdf后缀,如果在下载还是没有,那么接着往下看:

    到这里其实细心的同志已经发现了,这一段代码里有a.href a.target a.download,这就是赤裸裸的给a标签加属性的啊,既然是a标签,那我们还可以给指定一下MIME类型。

    所以在判断文件是不是以.pdf结尾之前,我们还可以指定type:

    a.type = "application/pdf";
    

    到这里,你下载文件的时候,文件名的地方应该就会给你带上.pdf了,如果还不带.pdf后缀,那么请看一下:你的电脑是不是隐藏了文件的扩展名

    注意:我也不能保证此方法就一定可以解决你的问题。毕竟出现问题的情况千变万化。这里只是给大家提供一种方法尝试。

    展开全文
  • 解决预览pdf不下载的问题

    千次阅读 2020-12-17 16:08:12
    之后要在A系统预览并下载。 2.问题 1.文件名能回填 2.保存类型没有pdf 3.解决 /** * 实现资产系统通过接口方式 * PDF预览 * @author chenf */ @RequestMapping(value = "/sign-process/queryFile...

    1.背景

    最近在开发A系统归档的数据要传入B系统,在B系统生成PDF文件。之后要在A系统预览并下载。

    2.问题

    1.文件名不能回填

    2.保存类型没有pdf

    3.解决

     /**
         * 实现资产系统通过接口方式
         *                PDF预览
         * @author chenf
         */
        @RequestMapping(value = "/sign-process/queryFile", method = RequestMethod.GET)
        public RestfulResult queryFile(String assetUrl,
        		HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException 
        {   	
        	String param = assetUrl;
        	param = URLDecoder.decode(URLDecoder.decode(param, "utf-8"),"utf-8");
        	param = StringEscapeUtil.encode(param);
        	OutputStream out = null;
        	RestfulResult result = new RestfulResult();
        	try 
        	{
        		out = response.getOutputStream();
        		// 执行业务
        		this.signAssetservice.getAssetFile(request,response,param,out);
        		return null;
        	} catch (Exception e) 
        	{
        		log.setState("错误");
        		log.setDescribe(e.toString());
        		logManage.addLog(log);
        		result.setCode(RestfulResult.ERROR_CODE);
    			result.setMsg(log.getDescribe());
    			return result;
        	}finally 
        	{
    			try
    			{
    				if(out != null)
    				{
    					out.close();
    				}
    			} catch (IOException e)
    			{
    				e.printStackTrace();
    			}
        	}
        }
    	
    	
    	@Override
    	public void getAssetFile(HttpServletRequest request,HttpServletResponse response,String param,OutputStream out) {
    		FileInputStream in = null;
    		String fileurl = null;
    		fileurl = param;
    		
    		try {
    			File file = new File(fileurl);
    			String fileName = file.getName();
    			//中文兼容火狐浏览器
    			if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {
    				downShowName = "=?UTF-8?B?"+(new String(Base64.encode(fileName.getBytes("UTF-8")))) + "?=";
    			} else {
    				downShowName = java.net.URLEncoder.encode(fileName,"UTF-8");
    			}
    			response.setContentType("application/pdf");//告诉浏览器输出内容为pdf
    			response.setHeader("Content-Disposition", "inline;filename="+downShowName);//inline显示|attachment下载
    			in = new FileInputStream(file);
    			byte[] date = new byte[in.available()];//获取文件的大小
    			in.read(date);//以字节流的形式读取文件
    			out.write(date);
    		}catch (Exception e) {
    			throw new RuntimeException(e.toString());
    		}finally {
    			if(in!=null){
    				try
    				{
    					in.close();
    				} catch (IOException e)
    				{
    					e.printStackTrace();
    				}
    			}
    		}
    	}

     

    展开全文
  • 最近有一朋友,现在某机关工作,结果电脑却下载PDF文件,遂咨询我,后来登录上去后发现,下载PDF需要用Adobe PDF Reader 的插件支持,且只能使用IE浏览器(非Edge),他们公司普遍用的IE11. 网上搜索了以下总结了解决方案...

    最近有一朋友,现在某公司工作,结果电脑却不能下载PDF文件,遂咨询我,后来登录上去后发现,下载PDF需要用Adobe PDF Reader 的插件支持,且只能使用IE浏览器(非Edge),他们公司普遍用的IE11.

    网上搜索了以下总结了解决方案,分两步:

    一.检查Internet Explorer 加载项
    二.添加使用兼容性视图网站
    即可解决.

    具体步骤:
    (1)打开IE11浏览器后,找到右上角的小齿轮
    (2)找到管理加载项,看

    Adobe PDF Reader插件是否被启用


     
     
     
     
    (3)再次打开右上角小齿轮。选择兼容性视图设置
     
    (4)将你需要下载PDF的页面输入进去,完成。
     
     
    (****************本文仅作为记录和参考,不一定对其他的情况有效********************)
    展开全文
  • @ 关于如何解决mac电脑下载pdf之后出现名称乱码的解决方法。 首先说呢,由于工作变更及工作需要,所以入手了一个mac电脑。但是入手之后就逐渐被

    @ 关于如何解决mac电脑下载pdf之后出现名称乱码的解决方法。(或解压文件乱码的问题)

    首先呢,由于工作变更及工作需要(说白了是为了装逼),所以入手了一个mac电脑。但是入手之后就逐渐被逐渐被苹果的不兼容和用office的卡顿所折服了,一台14000块的电脑处理一个Excel文件都会卡。。。。。反正各种脑壳疼,后来也尝试安装了双系统和虚拟机,在这里不多说,感觉如果不是必须用windows不可的情况下还是建议安装虚拟机,因为安装了双系统会丧失很多苹果自带的功能,虚拟机的话就会好很多,也不会占用多大空间和处理能力。

    ok,接下来步入正题,该怎么解决用mac电脑下载pdf出现名称乱码的问题呢,实话实说,我也尝试了很多种方法,什么改改偏好性设置、什么用代码改一下电脑属性、吧啦吧啦吧啦之类,反正试来试去都不行,所以得出一个结论,苹果电脑可能就是特立独行,木的办法!

    但是, 前段时间由于卸载双系统的时候操作失误把win系统的磁盘给抹去了,导致电脑变成了双磁盘而且无法合并,在苹果远程协助下把电脑恢复出厂设置了,之后用虚拟机安装了win10专业版本,直接眼前一亮,真的真的是很好用。建议大家安装一个win10的虚拟,因为现在安装的win10系统做的优化很好,可以和iOS很好的共享文件和软件,之前安装的win8就不行,各种难用!!!!!我先在iOS系统上安装了office作为主要工作工具,在win10上安装了wps用于文件打印和资料查看,当然下载东西的时候是用win10系统上的浏览器进行下载的,解压缩之类也用win10系统,然后由于虚拟机可以资源共享,所以可以用mac查看已下载和已解压的文件。这样文件不会出现乱码,而且也不耽误电脑的处理能力。
    在这里插入图片描述

    上面的图片就是今天上知网上随便下载的资料,下面乱码的是用mac下载的,上面是用win10系统下载的,下载之后在mac上看就不是乱码。即使是解压缩的文件也可以在win10上解压缩之后在mac上看,十分方便。仅仅把win10做成一个辅助工具,当有些软件必须用到win10的时候在在win10上安装即可。而且现在还多了一个暂停功能,也就是你在办公的时候长时间不用虚拟机,虚拟机会自动将虚拟出来的系统进行暂停,防止占用运算空间,方便实用。

    当然有很多同志可能感觉这样很麻烦,不喜勿喷哦,都是个人使用心德,喜欢就采用不喜欢也无所谓,ok就写到这里了,作为一个电脑小菜鸡,很高兴和大家分享个人心得。

    展开全文
  • 如何解决谷歌浏览器下载图片、PDF文档时只打开不下载的问题?如何变成直接下载解决方法: 使用js获取下载流,重新生成本地下载链接,再触发下载事件,代码如下: function getFile(url,fileName){ var ...
  • 纯前端下载pdf链接文件,而不是打开预览的解决方案 一,介绍与需求 1.1,介绍 XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在重新加载整个网页的情况下,对网页的某部分进行更新。 问题:Chrome 会...
  • react 解决post请求的下载pdf问题

    千次阅读 2018-09-18 15:05:41
    react处理post请求的下载pdf功能 完整代码: //下载 Down=(index)=>{ this.setState({ visible: true, }); console.log(index.pdfPath); const THIS=this; axios.post(...
  • springMVC以附件形式下载PDF文件(解决了下载后文件格式出错无法打开的问题) 公司的上网行为管理系统项目有一个功能模块是统计报表,今天在完成这个功能的过程中碰到一个需求:将服务器上的PDF文件以附件的形式...
  • 下载vscode和安装markdown pdf后,本以为可以开开心心的导出pdf了,结果现实却是error 在查询好长一段时间后,终于找到原因,分享出来。 前期准备 下载vscode 下载chrome 安装markdown pdf (我已经安装,所以...
  • 解决pdf不能打印,能注释,能修改,能保存等文档限制pdf下载的文件可能保存完整,305页的只下载了298页,阅读的宝贵批注因为文档完整而无法保存,出现109等号错误PDF“文档无法保存,读取本文档时出现问题...
  • ios13 企业微信 pdf下载乱码解决方案

    千次阅读 2020-04-06 17:25:03
    导入:上个星期五加班到很晚(且用了同事的ios手机做测试),在为解决一个bug而烦恼,知道怎么修,从网上找过资料,但是并没解决方案,且有其他人遇到此问题,但并没人解决,因此写下这篇文章记录一下。 ios13企业...
  • 1、PDF有写入保护,部分有加密,,受保护,已经受限,能注释能修改。 2、本身pdf文件就是图片,所以能进行高亮标注等操作。 如何查看是哪种问题呢? 打开文件后,选择文件---文档属性--安全 或者直接按...
  • 资源:pdf_view.rar 下载地址:https://download.csdn.net/download/qq_37252429/10667524 用法:进入页面pdf_view/web/viewer.html?pdf_url=pdf的路径 就可以进入pdf预览页面 缺点:占用内存过大,在小程序中,...
  • 知网下载PDF?CAJ格式太鸡肋?

    千次阅读 2020-02-25 09:49:31
    个人在下载文献时,一般喜欢.pdf格式的文件,并是说CAJ格式不好,它也是有优点的,一是支持所有pdf中能完成的操作;二是CAJ格式是默认带大纲链接的,这方便了文献的阅读和快速的定位,而pdf格式的文献一定有。...
  • 首先,做这个功能得知道,ios使用web-view标签是直接可以浏览pdf的,但是安卓系统的手机是可以的,这个时候我们一般采用先下载,然后再打开的方式浏览。只要是借助小程序的wx.downloadFile、wx.openDocument事件...
  • 最近在完成电子发票的相关业务,调用第三方返回的是经过编码的一段流,直接写pdf是没有问题的,但是微信和android对于pdf的支持不是很好,得下载以后再去看,体验比较差,但是微信和android都是直接可以查看图片的...
  • 最近公司业务需要在pdf中显示表格,但是表格内容列数有点长,导致word转pdf的时候显示全; 如上图这种显示全的情况(截图中没有放表格,表格同理一样)。 具体做法:第一、word的模板文件中需要进行设置word...
  • Vue 导出PDF文件终极解决方案 关于 Vue 导出 Echarts 统计图为 pdf 格式,网上许多作者给出了解决方案,但是都解决一些根本问题,
  • 利用itext导出HTML到PDF解决中文显示和中文换行的问题,都是本人亲写亲测可用的
  • atom编辑器markdown转换PDF解决AssertionError: html-pdf: Failed to load PhantomJS module. You have to set the path to the PhantomJS binary using ‘options.phantomPath’环境Windows10 atom 1. atom编辑器...
  • 解决html2pdf中文显示问题

    千次阅读 2019-04-30 17:08:15
    怎么解决html2pdf中文显示问题 https://blog.csdn.net/weixin_42584319/article/details/86527662 方法一:从ftl导入字体文件 本地能显示中文解决办法如下 // ftl文件中body加上任意中文字体,如宋体:...
  • PDF文件能打印的五种解决方案

    千次阅读 2020-03-09 17:23:29
    常用也是比较难实现一种解决方法,PDF防打印只是设置了个标志位,大多数 PDF 软件都遵循这个标准,但用某些老版本的 PDF 阅读器,就会发现它支持 “禁止打印” “禁止复制” 的功能。当然也可以用开源的 PDF 库....
  • //下面第三个参数statusCode一定得是200, 201或者其他状态可能导致无法下载 return new ResponseEntity(IOUtils.toByteArray( is ), headers, HttpStatus.OK); } catch (IOException e) { e....
  • 有用户反馈说在我们网站点击下载PDF文件会在浏览器直接打开而没有下载到本地。 由于我们网站是前后端分离,前端请求后端接口,后端生成文件保存到服务器,然后再返回文件路径给前端,前端在直接访问文件路径下载...
  • PHP 下载pdf预览和下载pdf文件

    千次阅读 2018-03-12 17:46:25
    正常的a标签就可以预览pdf文件:<a href="/uploads/file/2018/3/12/75a08bf5120b0b71cf5f185d1479c3ee.pdf" target ="_blank">人工智能标准化白皮书.pdf</a>&...
  • 解决freemarker+ItextRender生成pdf却显示了中文。 按网络上很多方法都试过了,但就是显示了中文。 经过一晚上短路,今天突然醒悟了。 网络上方法基本都是对的,那么哪里出问题了呢? 大家都只注意了java代码的...
  • 该问题网上有很多解决了,但是我使用过后,都起作用,估计是版本的问题,我用的估计是较新的版本,最新的现在是jasperreports-6.5.0了现在; 接下来说下我们的处理 目的: 在javaweb的客户端,用户可以到处报表...
  •  公司的CS 终端需要显示 PDF 文件 ,在换用了“Adobe PDF Reader” 这个控件后,运行程序报错,窗体控件区显示一片空白,PDF 文件就是显示,这是怎么回事呢? 正文 一 、原因一步步排除,先来看是不是...
  • vue 中使用 axios 下载pdf

    千次阅读 2018-03-26 15:40:42
    http 客户端,vue项目中使用非常普遍,现在需要对接一个 pdf 报表接口,发现 axios 无法直接直接下载下来,也就是说用 axios 请求,返回的结果是二进制文件,但是浏览器没有直接下载下来,下面是解决的方案的代码...
  • java开发html转pdf 解决方案

    万次阅读 2018-03-06 20:14:11
    之前在工作中遇到过一个需求,是将用户填写的申报,由固定模板的来生成pdf,后来想到先把内容生成html,然后再把html格式的内容转换成pdf。 之前在网上找了很多,有很多内容都是转载的,后来折腾了好几天才试出一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,406
精华内容 36,562
关键字:

下载不了pdf怎么解决