请选择 进入手机版 | 继续访问电脑版

hjp

高级会员

223

主题

549

帖子

1862

积分

高级会员

积分
1862

[已处理] PDF附件文档打印

hjp
高级会员   /  发表于:2025-2-16 11:25  /   查看:1155  /  回复:14
200金币
附demo,请各位大师指教

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

14 个回复

小萝卜David
金牌服务用户   /  发表于:2025-2-16 16:03:19
沙发

用新版本新功能,用filepreview打开





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2025-2-17 14:37:42
板凳
大佬,这边参考市场上的其他插件实现思路,可以考虑使用print-js库来实现打印,上传js库;
  1. https://cdnjs.cloudflare.com/ajax/libs/print-js/1.6.0/print.min.js
复制代码
打印按钮使用JavaScript命令;
  1. const pdfUrl = "http://localhost:53205/Forguncy/FileDownloadUpload/Download?file=cffa6a43-24e2-4c98-ba86-cd1d25b1318a_葡萄城技术资源.pdf"; // 替换为你的PDF下载链接

  2. // 使用 print-js 打印 PDF 文件
  3. printJS({
  4.     printable: pdfUrl,
  5.     type: 'pdf',
  6.     showModal: true, // 显示打印预览
  7.     style: `
  8.         @media print {
  9.             @page { size: A4; margin: 20px; }
  10.             body { margin: 0; }
  11.         }
  12.     `
  13. });
复制代码
将代码中的pdfUrl的ip端口和file文件名称替换为项目中的实际值,测试一下。
回复 使用道具 举报
hjp
高级会员   /  发表于:2025-2-17 15:59:24
地板
Shawn.Liu 发表于 2025-2-17 14:37
大佬,这边参考市场上的其他插件实现思路,可以考虑使用print-js库来实现打印,上传js库;
打印按钮使用Ja ...

我没有联接外网,能使用这个JS吗
回复 使用道具 举报
hjp
高级会员   /  发表于:2025-2-17 16:22:49
5#
hjp 发表于 2025-2-17 15:59
我没有联接外网,能使用这个JS吗

我发布的地址是这个,要怎么修改,我试了好久都没有打开

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2025-2-17 16:57:30
6#
如果没有连接外网,就不能在设计器工程中引入这个js链接了,可以考虑在有网环境把js文件保存起来后上传到设计器工程,像下面这样。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2025-2-17 16:59:10
7#
hjp 发表于 2025-2-17 16:22
我发布的地址是这个,要怎么修改,我试了好久都没有打开

这个问题可以尝试一下是否可以在服务器上双击活字格服务器打开管理控制台,正常打开后,在设计器发布时服务器这里可以选择服务器的机器名或者IP地址。
回复 使用道具 举报
hjp
高级会员   /  发表于:2025-2-18 09:32:52
8#
Shawn.Liu 发表于 2025-2-17 16:59
这个问题可以尝试一下是否可以在服务器上双击活字格服务器打开管理控制台,正常打开后,在设计器发布时服 ...


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
hjp
高级会员   /  发表于:2025-2-18 09:35:22
9#

帮改一下这个JS,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2025-2-18 09:57:51
10#
url的这两个部分可以参考下面的通用方式来获取,这边是在10.1高版本测试的,您在V7再测试一下。



  1. const baseUrl = `${Forguncy.Helper.SpecialPath.getBaseUrl()}`;
  2. let fileName = Forguncy.Page.getCell("filepreviewer").getValue();
  3. if (fileName.endsWith("|")) {
  4.     fileName = fileName.substring(0, fileName.length-1);
  5. }
  6. const pdfUrl = `${baseUrl}FileDownloadUpload/Download?file=${fileName}`;

  7. // 使用 print-js 打印 PDF 文件
  8. printJS({
  9.     printable: pdfUrl,
  10.     type: 'pdf',
  11.     showModal: true, // 显示打印预览
  12.     style: `
  13.         @media print {
  14.             @page { size: A4; margin: 20px; }
  15.             body { margin: 0; }
  16.         }
  17.     `
  18. });
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部