iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >react不显示PDF生成信息如何解决
  • 716
分享到

react不显示PDF生成信息如何解决

2023-07-04 23:07:25 716人浏览 安东尼
摘要

本篇内容主要讲解“React不显示pdf生成信息如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react不显示PDF生成信息如何解决”吧!react不显示PDF生成信息的解决办法:1、从

本篇内容主要讲解“React不显示pdf生成信息如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react不显示PDF生成信息如何解决”吧!

react不显示PDF生成信息的解决办法:1、从后台获取到的pdf的url地址,再请求获取到pdf文件;2、请求pdf文件时设置responseType为blob;3、将PDF文件转换为base64格式;4、以canvas来呈现PDF即可。

解决react项目中PDF的显示与打印问题

最近项目中有这样一个需求:

  • 页面中可以显示pdf

  • 不希望把整个页面打印下来,只打印显示PDF的部分,可以使用浏览器自带打印功能

PDF文件的显示

拿到这个需求,真时一头雾水。因为没有做过类似需求,不知从何下手。在查阅资料的过程中,发现有很多Jquery插件可以实现显示pdf, 但是我们是react单页面应用项目,看来这些插件并不适用,只能另寻其它方法。

后来在 npmjs.com 上找到了 react-pdf-js 组件, 心想显示pdf有望。就迫不及待将 react-pdf-js 依赖 通过 cnpm install react-pdf-js --save-dev 命令安装到项目中,通过 import PDF from 'react-pdf-js' 引入到项目里。将<PDF file={pdfUrl} onDocumentComplete={this.onDocumentComplete} onPageComplete={this.state.page} />插入render里。

在调试过程中发现静态pdf文件可以显示,在线pdf文件不能显示。通过控制的报错信息了解道,react-pdf-js组件要求file文件地址是url或者base64格式, 既然url行不通,就只能往base64上靠了。

获取PDF文件

一开始我直接将将pdf的在线地址url转换为base64,但是不能显示。后来想明白了,只把url转换成base64格式是没有用的,需要把pdf的文件内容转换成base64才行。接下来就顺理成章,通过从后台获取到的pdf的url地址,再次请求获取到pdf文件。

在做这部分的遇到一个小问题:能请求成功,就是获取不到pdf文件,在这纠结了很久,也不知道该如何解决,把问题描述给我们公司的架构师,我们分析这是跨域问题造成的,他给Nginx服务器的配置解决了跨域问题。

'Content-Type':  'application/x-www-fORM-urlencoded;charset=utf-8','Access-Control-Allow-Origin': 'https://www.nurse-Go.cn:9091','Access-Control-Allow-Methods': 'GET','Access-Control-Allow-Headers': 'X-Custom-Header','Access-Control-Allow-Credentials': true,

将PDF文件转换为base64格式

base64可以存储任何格式的文件,一种的很棒的存储方法。将文件转换为base64格式。

这里需要注意请求pdf文件的时候要设置responseType为blob, 为什么使用blob类型下面解释,到这我就拿到了pdf文件,将其转化为base64格式。

let reader  = new FileReader()let fileParts = []fileParts.push(this.props.pdfFile)let blob = new Blob(fileParts, {type : 'application/pdf'})if (blob) {    reader.readAsDataURL(blob)}let base64let that = this      // 处理this的指向  reader.addEventListener("load", function () {    base64 = reader.result   that.setState({          base64: base64, })}, false);

base64格式的转换,需要时blob格式,将转化为base64格式的pdf,在file={file}, 将其在浏览器上显示出来。实际上最终是以canvas来呈现的PDF。

pdf显示算是告一段落,接下来就是打印了。

PDF文件的打印

在浏览器上,打印分整页打印和指定部分打印。项目需要打印制定部分内容打印,实现打印的方法多种多样,我使用了传统的CSS控制。通过@media print将打印时不需要打印的部分隐藏掉,那么剩下的就是要打印的部分了。

PDF文件打印调试

这里有个调试的小技巧:因为只有当调用了浏览器的打印才会调用@media print 里的样式,所以可以将这部分样式放在外面,当将不需要打印的部分都隐藏掉了,再将外部的这些样式去掉,给@media print即可。

调用浏览器的打印使用的 window.print(), 虽然不能兼容所有浏览器,但是常见的高级浏览器都可以兼容,满足了我们的项目需求,这里我就没有继续深挖。

到此,相信大家对“react不显示PDF生成信息如何解决”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: react不显示PDF生成信息如何解决

本文链接: https://www.lsjlt.com/news/348068.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react不显示PDF生成信息如何解决
    本篇内容主要讲解“react不显示PDF生成信息如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react不显示PDF生成信息如何解决”吧!react不显示PDF生成信息的解决办法:1、从...
    99+
    2023-07-04
  • react不显示PDF生成信息怎么办
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react不显示PDF生成信息怎么办?解决react项目中PDF的显示与打印问题最近项目中有这样一个需求:页面中可以显示pdf不希望把整个页面打印下来,只...
    99+
    2023-05-14
    PDF React
  • react router不显示如何解决
    本篇内容介绍了“react router不显示如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!react router不显示的解决办法...
    99+
    2023-07-04
  • php phpinfo不能显示php信息如何解决
    这篇“php phpinfo不能显示php信息如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php phpinfo不...
    99+
    2023-07-05
  • 【Java】itext 实现 html根据模板生成pdf 中文不显示/图片不显示问题解决
    引言: 工作中需要使用生成pdf记录,选取使用的是itext 生成 pdf方式。分享下实现方式及遇到的问题。 实现效果 这里随便找个html课程表作为示例,添加了几张图片为了展示图片转pdf功能。 ...
    99+
    2023-10-27
    java html pdf
  • linux不显示错误信息提示怎么解决
    如果Linux不显示错误信息提示,可以尝试以下解决方法: 检查命令的输出是否被重定向到其他地方。例如,如果你在终端中执行的命令后...
    99+
    2023-10-27
    linux
  • php phpinfo不能显示php信息怎么解决
    PHP是一种非常流行的Web开发语言,它支持在Web服务器上运行进行动态内容开发。当你在PHP安装完成后,你可能会遇到一个问题,就是在使用phpinfo()函数时,不能正确地显示PHP的信息。这个问题可能是由于许多因素造成的,本文将介绍解决...
    99+
    2023-05-14
    php phpinfo()
  • eclipse导入svn项目不显示svn信息如何解决
    如果在Eclipse中导入SVN项目后,没有显示SVN信息,可以尝试以下解决方法:1. 确保已安装SVN插件:在Eclipse菜单栏...
    99+
    2023-10-09
    eclipse
  • react图片引入不显示如何解决
    本文小编为大家详细介绍“react图片引入不显示如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“react图片引入不显示如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。react图片引入不显示的解决...
    99+
    2023-07-04
  • react引入ant样式不显示如何解决
    今天小编给大家分享一下react引入ant样式不显示如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。react引入an...
    99+
    2023-07-05
  • php获取pdf中的图片不显示如何解决
    这篇文章主要介绍“php获取pdf中的图片不显示如何解决”,在日常操作中,相信很多人在php获取pdf中的图片不显示如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php获取pdf中的图片不显示如何解决...
    99+
    2023-07-06
  • thinkphp不提示错误信息如何解决
    这篇文章主要介绍“thinkphp不提示错误信息如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“thinkphp不提示错误信息如何解决”文章能帮助大家解决问题。thinkphp不提示错误信息的...
    99+
    2023-07-04
  • react+maxlength不生效如何解决
    本篇内容介绍了“react+maxlength不生效如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!react+maxlength不生...
    99+
    2023-07-04
  • vue pdf无法显示中文如何解决
    这篇文章主要介绍了vue pdf无法显示中文如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue pdf无法显示中文如何解决文章都会有所收获,下面我们一起来看看吧。前言vue-pdf...
    99+
    2023-07-05
  • react中modal不生效如何解决
    这篇文章主要讲解了“react中modal不生效如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react中modal不生效如何解决”吧!react中modal不生效的解决办法:1、将...
    99+
    2023-07-04
  • gitee不显示如何解决
    今天小编给大家分享一下gitee不显示如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、Gitee不再显示的原因DN...
    99+
    2023-07-05
  • vue3.0使用vue-pdf-embed在线预览pdf控制页码显示范围不生效问题解决
    目录vue3.0使用vue-pdf-embed在线预览pdf 控制页码显示范围不生效问题1.先安装vue-pdf-embed2.安装后 在使用页面引入 PS:vue3.0借...
    99+
    2023-01-15
    vue3.0在线预览pdf 控制页码显示范围不生效 vue在线预览pdf vue-pdf-embed在线预览pdf文件
  • 电脑显示器不亮无信号如何解决
    本篇内容介绍了“电脑显示器不亮无信号如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决方法检查电脑与显示器连接线是否有松动,有没有破...
    99+
    2023-07-01
  • php生成svg图片不显示不出来的原因及解决办法
    在web开发中,svg(可缩放矢量图形)逐渐成为了web图形的替代品。与png、jpg等位图相比,svg图片在缩放时不会失真,同时也能够支持交互式图形展示。在php中,可以使用GD库或ImageMagick等工具生成svg图片。但是,有时候...
    99+
    2023-05-14
  • 探讨php生成的图片不显示的原因和解决方法
    在使用PHP动态生成图片的时候,有时候会遇到生成的图片无法显示的问题。这个问题可能会让许多PHP初学者感到困惑,造成他们的代码无法正常工作。本篇文章将探讨一些可能导致PHP生成的图片无法显示的原因,并提供解决方案。一、文件路径错误在PHP动...
    99+
    2023-05-14
    php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作