当前位置: 首页 > news >正文

手机视频做动画视频在线观看网站盐城做网站价格

手机视频做动画视频在线观看网站,盐城做网站价格,国家企业信用公示信息系统官网app,微信代运营协议将PDF流转为图片展示在页面上 使用 pdfjs-dist 库来渲染 PDF 页面到 canvas 上,然后将 canvas 转为图片 安装 pdfjs-dist 依赖 npm install pdfjs-dist 或者 yarn add pdfjs-dist创建一个组件来处理 PDF 流的加载和渲染 该组件中是一个包含 PDF 文件的 ArrayBuffer…

将PDF流转为图片展示在页面上

使用 pdfjs-dist 库来渲染 PDF 页面到 canvas 上,然后将 canvas 转为图片

安装 pdfjs-dist 依赖

npm install pdfjs-dist
或者
yarn add pdfjs-dist

创建一个组件来处理 PDF 流的加载和渲染

该组件中是一个包含 PDF 文件的 ArrayBuffer 或者 Uint8Array。
将 pdf 流传入该组件中使用

/** @format */import React, { useState, useEffect } from 'react';
// import { pdfjs } from 'pdfjs-dist';
var pdfjs = require('pdfjs-dist/es5/build/pdf.js');
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.js`;const PdfToImage = ({ pdfData }) => {const [imageSrc, setImageSrc] = useState(null);const base64ToArrayBuffer = (base64) => {var binary_string = window.atob(base64);var len = binary_string.length;var bytes = new Uint8Array(len);for (var i = 0; i < len; i++) {bytes[i] = binary_string.charCodeAt(i);}return bytes.buffer;};useEffect(() => {const renderPDF = async (arrayBuffer) => {const loadingTask = pdfjs.getDocument({ data: arrayBuffer });try {const pdf = await loadingTask.promise;const page = await pdf.getPage(1); // 获取第一页const viewport = page.getViewport({ scale: 1.5 }); // 设置缩放比例const canvas = document.createElement('canvas');const canvasContext = canvas.getContext('2d');canvas.height = viewport.height;canvas.width = viewport.width;const renderContext = {canvasContext,viewport,};await page.render(renderContext).promise;// 将canvas内容转换为图片const imageSrc = canvas.toDataURL('image/png');setImageSrc(imageSrc);} catch (error) {console.error('Error rendering PDF:', error);}};// 首先将base64的PDF流转为ArrayBufferlet arrayBuffer = base64ToArrayBuffer(pdfData);// 然后将ArrayBuffer格式的数据转为图片renderPDF(arrayBuffer);}, [pdfData]);return <div>{imageSrc && <img src={imageSrc} alt="PDF as image" />}</div>;
};export default PdfToImage;

使用示例

这里的PDF_content 也可以直接使用 ArrayBuffer 或者 Uint8Array 的格式,直接传入组件,将组件中的 base64ToArrayBuffer 方法不使用即可。

import React from 'react';
import PdfToImage from './PdfToImage.jsx';render() {const PDF_content = 'XXXX....BYFhEdCmVuZHN0cmVhbQplbmRvYmoKc3RhcnR4cmVmCjg2NTkxCiUlRU9GCg=='// base64 格式return (<PdfToImage  pdfData={PDF_content}></PdfToImage>)}
http://www.yayakq.cn/news/266994/

相关文章:

  • 询价网站哪个好深圳seo优化多少钱
  • 广告公司网站主页设计程序开源网站
  • 安庆做网站公司成功的网络营销案例
  • 网站psd模版网站公司排行榜
  • 请人做网站注意事项网站建设高端公司
  • 1688阿里巴巴官方网站微信网站开发视频教程
  • 网站推广方法素材北京定制网站开发公司
  • 优秀的版式设计网站广东seo网站推广
  • 网站seo查询站长之家石家庄职业技术学院
  • 网站的icp 备案信息山西省住房城乡建设厅网站
  • 移动网站开发教学大纲wordpress關閉
  • 彩妆网站建设报告丹阳网站建设怎么样
  • 五金件外发加工网seo体系百科
  • 浙江省建设局网站上海比较出名的互联网公司
  • 新手从零基础建站初级网站建设wordpress自定义菜单设置
  • 深圳集团网站开发公司寻找手机网站建设
  • 全球最大的设计网站成品网站
  • 最便宜的手机网站建设企业传统的网络营销推广方法
  • 网站服务器租用选择常德小学报名网站
  • iis5建设网站科技栋梁之歌
  • 祥云网站优化创意交易平台官网
  • 手机网站qq咨询代码全网关键词搜索
  • 百度站长平台链接提交全国住房与城乡建设部网站
  • 浙江网站建设商城价格高端网站建设的图片
  • 韩国网页设计公司网站网络工程电子版
  • 网站文案的重要性清华大学自动化系
  • 重庆主城优化网站建设代理记账公司注册条件
  • wordpress文章评论数东莞做网站优化
  • 网站开发自学难吗四川省建设三类职称网站
  • 站长工具ip地址查询千万别学建筑工程技术