使用vue-pdf预览pdf和解决pdf电子签章显示问题

vue项目中使用pdf.js预览pdf文件 项目要求需要预览pdf文件,网上找了很久,大多数都是推荐pdf.js,自己先了解了一下,最后决定用pdf.js, 但是发现,在vue中使用这个很少!!!!!所以我就写这一篇帮助一下vue使用pdfjs的朋友! 其实 这和前端框架无关的,直接使用pdf.js原生 搜多了你就发现有几个封装pdf.js的vue组件,个人试验了其中一个,效果不是很好,所以,当然啊,用原生 的是最... 阅读详情
AI摘要

博客介绍了使用vue-pdf预览PDF及解决PDF电子签章显示问题的方法。首先通过npm install vue-pdf进行安装,接着在页面使用vue-pdf,最后针对电子签章显示问题,需在两个不同路径的pdf.worker.js文件中各注释掉一行代码。

使用vue-pdf预览pdf和解决pdf电子签章显示问题

第一步:npm install vue-pdf

第二步页面使用vue-pdf

<template>
  <div class="pdf1">
    <Pdf v-for="i in numPages" :key="i" :src="src" :page="i" />
  </div>
</template>

<script>
import Pdf from "vue-pdf";

export default {
  components: {
    Pdf
  },
  data() {
    return {
      numPages: undefined,
      src: "",
      fileUrl: `${window.location.origin}/test1.pdf`
    };
  },
  mounted() {},

  created() {
    this.getPdfs();
  },
  mounted() {},
  methods: {
    // 获取pdf
    getPdfs() {
      // 引入pdf.js的字体
      let CMAP_URL = "https://unpkg.com/pdfjs-dist@2.0.943/cmaps/";
      // let CMAP_URL = `${window.location.origin}/cmaps/`;

      this.src = Pdf.createLoadingTask({
        // url: 'http://h1.pdfdo.com/Download/112617223362/112617223362.html', //在线链接pdf
        url: this.fileUrl, //本地pdf
        cMapUrl: CMAP_URL,
        cMapPacked: true
      });
      this.src.promise.then(pdf => {
        this.numPages = pdf.numPages;
      });
    }
  }
};

第三步pdf预览电子签章显示问题-解决办法

步骤一: 在node_modules/pdfjs-dist/build/pdf.worker.js注释掉一行代码

if (data.fieldType === "Sig") {
      data.fieldValue = null;
      // 注释掉底下这行 就可以显示电子签章
      // this.setFlags(_util.AnnotationFlag.HIDDEN);
}

步骤二:在node_modules/pdfjs-dist/es5/build/pdf.worker.js注释掉一行代码

 if (data.fieldType === "Sig") {
    data.fieldValue = null;
      // 注释掉底下这行 就可以显示电子签章
      // _this3.setFlags(_util.AnnotationFlag.HIDDEN);
 }
vue-pdf 操作 【代码】vue-pdf 操作。 阅读详情

相关推荐

【Vue】vue2使用vue-pdf预览pdf文件,预览多页,在线预览方式二,vue页面内预览,无需额外pdfjs包,保姆级教程

参考文章1vue中前端实现pdf预览(含vue-pdf插件用法)参考文章2vue中运用vue-pdf实现pdf分页预览及缩放(可解决pdf预览不清晰问题)可以先看参考文章,再来看我的,这个作者的简洁粗暴,上手就能用,我写的主要针对新手小白但是只做了预览,如果需要切换上一页、下一页,请看参考2提示:以下是本篇文章正文内容,下面案例可供参考更多方法看官网传送门。

qq_51055690的博客 1万+

vue前端预览pdf并加水印、ofd文件,控制打印、下载、另存,vue-pdf的使用方法以及在开发中所踩过的坑合集

根据公司的实际项目需求,要求实现对pdf和ofd文件的预览,并且需要限制用户是否可以下载、打印、另存pdf、ofd文件,如果该用户可以打印、下载需要控制每个用户的下载次数以及可打印的次数。正常的预览pdf很简单,直接调用浏览器的预览就可以而且功能也比较全,但是一涉及到禁止用户打印、另存的话就不可以用浏览器自带的预览方式了。那就只能寻找插件来模拟了,之前在eletron-vue项目中使用过pdfjs以及vue-pdf插件,效果不是特别好

zhangzuying的博客 2万+

vue2.0 H5页面实现上上签pdf预览及签名显示(后台接口返回base64格式)

通过网上搜索资料,决定使用vue插件vue-pdf实现pdf文件预览,vue-pdf封装了原生pdf.js和pdfjs-dist。安卓和ios都可以预览pdf文件,通过引入CMapReaderFactory可以解决中文异常显示问题,但是发现。安卓和ios本地打包的情况下都可以正常显示,但是代码提交后在线上环境打包会将注释的代码自动还原,npm install vue-pdf@latest(latest表示安装最新版本)npm install vue-pdf@4.1.0(必须使用此版本)

qq_45442879的博客 6585

【Vue】vue中使用pdf,看这篇就够了~

1. 需求   最近接到一个需求,需要在 vue 的 pc 端中嵌入用户帮助手册的PDF文件,且由于是保密文件,因此禁止用户进行打印、下载等相关操作。需要实现出来的需求点如下: PDF展示 每一页进行懒加载(或用进度条加载给与用户反馈) 禁止打印、下载PDF(或加大用户打印、下载文件的难度成本) 2. PDF 组件选型 通过查找资料,主流的可以找到的有如下几种方案,其中最为成熟的方案是 vue-pdf vue-pdf 官方文档:较为完善的 vue-PDF 解决方案。 vueshowpdf:网络上找

weixin_42678675的博客 8万+

FPGA进位链(Carry Chain)实战:从Xilinx CARRY8原语到性能优化全解析

本文深入解析了FPGA进位链(Carry Chain)的原理与应用,重点剖析了Xilinx CARRY8原语的端口功能与内部机制。通过实测数据揭示了进位链的真实延迟特性与温度影响,并详细阐述了如何利用DI和S信号进行动态路径优化、实现减法运算与条件进位选择,从而有效提升设计性能。最后,文章探讨了系统级的流水线拆分、布局约束等实战优化策略与常见陷阱。

weixin_29313817的博客 451

Vivado IP核与License许可全解析:从免费到收费,从评估到部署

本文全面解析Vivado IP核与License许可机制,从免费到收费IP核的选型指南到License的申请与部署策略。详细介绍了Xilinx官方IP核的优势与局限,第三方IP核的风险与应对,以及实战中的资源优化技巧和版本兼容性问题,帮助开发者高效利用Vivado工具链。

weixin_29169505的博客 367

vue-pdf 在线预览pdf(pdf地址或base64pdf)解决电子签章显示问题

使用vue-pdf在线预览pdf 并使得带有电子签章的pdf能够正常预览出来 1.安装vue-pdf npm install vue-pdf //或者 yarn add vue-pdf 2.新建pdf组件 新建AppPdf.vue文件 // AppPdf.vue <template> <div> <pdf v-for="i in numPages" :key="i" :page="i" :src="src"></pdf> &lt

q1ngqingsky的博客 5212

[WeChatMsg]导出csv格式微信聊天记录的手把手教程

手把手教大家如何导出自己的聊天记录得到csv文件,即使是电脑小白也可以轻松学会o(* ̄▽ ̄*)ブ

weixin_51094633的博客 1万+

vue中pdf预览组件_pdf 在线预览之 vue-pdf插件

vue-pdf支持到ie11npm安装:npm install --save vue-pdf组件template:v-if="pdfSrc":src="pdfSrc":page="currentPage"@num-pages="pageCount=$event"@page-loaded="currentPage=$event"@loaded="loadPdfHandler">上一页{{cur...

weixin_32382335的博客 3169

Zigbee通信(CC2530终端 + ESP32-C6协调器)

实现了CC2530 zigbee终端与ESP32-C6 zigbee协调器的通信交互。

Ecsply的博客 2565

4.2 多智能体系统的严格隔离机制:防止上下文污染与隐私数据脱敏实战

本文探讨了多智能体系统中上下文信息共享带来的安全风险与解决方案。研究发现,随着Agent数量增加,上下文信息泄露概率呈指数级上升,可能导致跨Agent错误传播、隐私泄露等问题。文章提出分层隔离架构,将上下文划分为全局共享和本地私有两部分,并通过命名空间隔离、递归压缩和隐私过滤技术确保数据安全。技术实现上,建议为每个子Agent创建独立状态空间,采用原子化更新和读写锁控制避免状态竞争。隐私保护方面,结合正则匹配和命名实体识别技术进行敏感数据过滤,确保符合GDPR等法规要求。这些措施共同构建了可靠、安全且合规的

公众号:AI前沿侦探 225

vue-pdf不显示电子签章治标不治本解决方法

转自文章 源文章 最重要的是vue-pdf 版本要对啊!!!!!!!不然找不到对应文件,无法注释: npm install --save vue-pdf@4.1.0 我用的是 4.1.0 版本的,node_module里有这两个文件,注释掉对应语句之后可以显示电子签章! 用更新或更旧的版本,没这两个文件。。一个一个版本试出来的,唉。。。。 但是这应该是治标不治本的方法,如果别人重新npm install或者生产发版是比较严格要重新npm install 打包的。node_module会被覆盖掉..

qq_27312237的博客 2773

在 SAP S/4HANA 本地部署和私有云里预览 RAP Travel App:为什么 ADT 发不出去,以及如何用 /IWFND/V4_ADMIN 正确发布 OData V4 Service

在SAP S/4HANA On-Premise/Private Cloud环境中,通过ADT直接发布RAP服务的本地端点常会失效。这是因为系统治理策略要求必须通过SAP Gateway Foundation(事务码/IWFND/V4_ADMIN)发布Service Group,而非开发者本机测试模式。本文详解了该流程的必要性:Service Group是OData V4服务的发布单元,涉及后端登记(/IWBEP/V4_ADMIN)和前端发布(/IWFND/V4_ADMIN)两个环节。提供了从ADT跳转SAP

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 269

vue-pdf的使用及注意事项

前端能通过base64pdf或者pdf地址展示出PDF显示出来,甚至能显示出带有签章的PDF文件

m0_64096502的博客 5086

问题解答:如何不通过修改底层数据库表的方式,给数据库对应的数据结构,增添新的字段?

现在需要将这张表里的内容读取到 ABAP 内表里,并且针对每个行项目,增加一个新的列字段,我随便举个例子,这个列字段名称叫 LENGTH,值为 OBJ_NAME 字段的长度,使用。最笨的办法就是下面这样定义一个新的类型,这个类型的每个字段名称,都来自数据库表 TADIR 的同名字段,在末尾再增添自定义字段 length.其实我们是做 ALV 输出,只需要 ABAP 内表变量的类型,包含 TADIR 数据库表的全部字段,再加上新的 LENGTH 字段即可。这相当于多了一个中间层,没办法直接被 ALV 处理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 481

Python爬虫:抓取交通工具班次数据(公交、地铁等时刻表)

然而,由于这些信息并不总是以开放的API形式提供,因此爬虫技术成为了获取和分析这些数据的有效途径。然而,由于很多公交公司没有公开API,通常我们通过抓取其网页中的时刻表数据来获取信息。通过这些步骤,您可以轻松抓取交通工具的班次信息,并进行进一步的数据分析,辅助交通规划和出行推荐系统的建设。在这篇文章中,我们将演示如何使用Python爬虫技术抓取公交、地铁等交通工具的班次和时刻表数据。我们可以将公交和地铁的数据合并,进行综合分析。我们可以进一步分析地铁班次的发车频率,甚至可以比较不同地铁线路的班次。

2201_76125261的博客 954

源码补丁神器—patch-package

一、背景vue项目中使用 vue-pdf 第三方插件预览pdf,书写业务代码完美运行,pdf文件内容正常预览无问题。后期需求有变,业务需求增加电子签章功能。这个时候pdf文件的内容可以显示出来,但是公司的电子签章无法显示。这令人沮丧,因为已经编写了许多特定于此依赖项的代码,如果替换依赖库,这些代码很可能会被浪费。更重要的是...

cnzzs的博客 382

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

vue2.0移动端 使用vue-pdf插件实现PDF文件流在线预览

vue2.0 移动端 使用vue-pdf实现PDF在线预览。 后台返回文件流-前端转文件

怎么办我好菜啊 2652

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vue-pdf插件预览没有签章,下载下来就有如何处理

在不更改依赖库进行大改动的前提下,先查找问题所在。经查发现此为官方bug 无法显示签章。进一步查询发现根源是其依赖包 pdf.js 的 电子签章不显示。问题已定位到,要修改显示电子签章的代码是在node_modules的依赖包中。

wulincoo 230

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

PDF查看器之pdfvuer

背景 公司需要实现一个PDF电子签章项目,使用到pdfvuer插件, 使用步骤 1. 加载包:pdfvuer npm i pdfvuer 2. 引入 import pdfvuer from 'pdfvuer' // pdfvuer 版本为@1.6.1 import 'pdfjs-dist/build/pdf.worker.entry' 3. pdf预览(简化版) <template> <pdf src="./static/test.pdf" :page="1"> &lt

qq_37214137的博客 3089

【javascript】关于patch-package

3, 修改node_modules目录下的源码,我们目前遇到的vue-pdf预览问题,是修改 node_modules\pdfjs-dist\es5\build\pdf.worker.js 这个文件下面的,_this3.setFlags(_util.AnnotationFlag.HIDDEN);这个包的原理是先记录你的改动,install之后,根据这个patches文件改动源信息,去执行脚本更新这个依赖包里面的内容。一个老的vue项目,预览pdf文件的时候,电子签章不显示。运行代码,预览问题已经解决了。

Riptide 1274

vue里面使用pdfjs-dist+fabric实现pdf电子签章!!!

使用pdfjs-dist+fabric实现电子签章

欢迎小伙伴们的评论和私信,工作日基本都会上来看看的哈 2万+

使用pdf-vue进行pdf预览内容缺失,水印和电子签章显示问题

使用pdf-vue进行pdf预览发现内容缺失。因为部分内容会用电子签章和水印的形式展示(反正发现比直接打开少了内容,大概率就是这俩玩意的问题)会有以下报错第一个warning报的是关于电子签章的问题,第二个warning报的是水印的问题。

shengxianghui的博客 862

html预览pdf上的电子印章,移动端pdf预览-水印&电子签章问题

一、背景记录一下在开发pdf文件预览时遇到的问题,主要是水印和电子签章问题。由于网上也查了不了方案,但解决方案都不适用在生产环境,所以决定贴一下自己的方案。二、方案介绍目前主流的移动端pdf文件预览库都是基于mozilla的pdf.js,本文要介绍的两个库也不例外,分别是react的react-pdf和vue的vue-pdf。闲话少说,直接上代码1.react-pdf方案,以下代码就完成一个pdf...

weixin_31363631的博客 2368
上一篇: 【高项】信息系统项目管理师(三)项目立项管理【2分】
下一篇: AI工具集介绍
智汇风渔AI小白
博客等级 码龄7年 1万+粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智汇风渔AI小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值