使用flutter打印包,如何从URL打印PDF?

2024-01-19

我在flutter中使用打印包:https://pub.dev/packages/printing https://pub.dev/packages/printing

该文档展示了如何从头开始创建 PDF。我已经在 URL 上有一个 PDF。有没有办法检索它并与包裹一起打印?或者是否有其他软件包的替代方法?


我尝试了以下几种方式来实现打印功能:

  • 直接获取远程数据字节
    搭配时下流行的套餐printing https://pub.dev/packages/printing
var data = await http.get(url);
await Printing.layoutPdf(onLayout: (_) => data.bodyBytes);

但我发现这种方式在打印滚筒尺寸纸张(POS打印机)时会出现打印区域错乱的问题

  • 共享(第一个的替代)
    使用 sharePdf 功能
var data = await http.get(url);
await Printing.sharePdf(bytes: data.bodyBytes, filename: 'my-document.pdf');

这个需要额外的步骤来打印(点击浏览器的“功能”图标然后打印)

  • 从浏览器查看并本地打印
    看看这个包网址启动器 https://pub.dev/packages/url_launcher
import 'package:url_launcher/url_launcher.dart';

if (await canLaunch(url)) {
  await launch(url);
}

这个需要额外的步骤来打印(点击浏览器的“功能”图标然后打印)

  • 下载远程文件并保存,使用flutter_pdf_printer包。
    使用这个包flutter_pdf_printer https://pub.dev/packages/flutter_pdf_printer and 路径提供者 https://pub.dev/packages/path_provider
var data = await http.get(url);
final output = await getTemporaryDirectory();
final file = File('${output.path}/your_file_name_${new DateTime.now().microsecondsSinceEpoch}.pdf');
await file.writeAsBytes(data.bodyBytes);
await FlutterPdfPrinter.printFile(file.path);

*** 此套餐将有频道注册者issue https://github.com/cadaniel/flutter_pdf_printer/issues/3#issuecomment-806264501,请运行flutter clean安装后***
这个包有点过时了,但它适合我用滚筒打印 80 尺寸的 pdf。它使用Swift UIKit包,具有良好的兼容性。

Summary

我的场景是打印无限高度的滚筒 80 尺寸的 pdf,打印包不起作用,因为它无法正确预览 pdf。所以我改成了最后一种打印方式,这对我来说很有效。如果您只是打印 A4 或常规尺寸的 PDF,打印包仍然是不错的选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用flutter打印包,如何从URL打印PDF? 的相关文章

  • Flutter - 如何在 ListView 构建器中列出 forEach() 值?

    您好 我正在尝试将数据从 JSON 列出到 Listview Builder 但 Flutter 给了我这个错误 Column s children must not contain any null values but a null v
  • 如何自动调整 Flutter 中的图标尽可能大

    目前 我正在使用以下代码 body new Container child new Column crossAxisAlignment CrossAxisAlignment stretch mainAxisAlignment MainAxi
  • 打印 Java 数组的最简单方法是什么?

    在 Java 中 数组不会覆盖toString 所以如果你尝试直接打印一个 你会得到className 的十六进制hashCode https en wikipedia org wiki Java hashCode 数组的定义为Object
  • Flutter / FireStore:如何在 Flutter 中显示 Firestore 中的图像?

    我想将我在应用程序中使用的一些图像放入 Firestore 并从那里显示它们 而不是将它们作为资产捆绑在我的应用程序中 为了做到这一点 我想出了以下解决方案 对于我想要显示图像的项目 我创建了一个 Firebase 文档 其中有一个字段存储
  • 当 TextFormField 聚焦时如何隐藏错误外观

    我在用着TextFormField用于表单和自定义验证器方法返回错误消息 我试图隐藏默认错误消息和错误边框TextFormField当文本字段获得焦点时 TextFormField focusNode focusNode validator
  • 数字签名(PKCS#7 - 延迟签名)/自应用签名以来文档已被更改或损坏

    我已经浏览了所有类似的问题 但找不到应用 itextsharp 延迟签名的情况 基本上 我的应用程序使用以下方式签署 pdf 文档PKCS 7由远程 Web 服务创建的签名 我的应用程序向此 Web 服务发送原始文档的哈希值 添加空签名字段
  • C# 打印问题(RichTextBox)

    我想打印我的 RichTextBox eintragRichTextBox 的内容 我现在有这个代码 private void druckenPictureBox Click object sender EventArgs e PrintD
  • 从 puppeteer PDF 中删除分页符?

    我目前正在尝试查看是否有一种方法可以删除我的 puppeteer PDF 中的分页符 因为我当前的 PDF 设置中的一些分页符正在以一种奇怪的方式切断文本 我正在谈论的内容的屏幕截图 我的傀儡代码 app get companyId pdf
  • Flutter - 删除 ListView 中项目之间的空间

    我正在使用 ListView builder 函数来创建项目列表 然而 iOS 中每个项目之间的空间很大 截图 你知道如何删除项目吗 看来是默认的 因为我没有添加它 code 列表显示 return Scaffold body ListVi
  • Riverpod - ref.refresh。应该使用“刷新”的值

    我正在将 Riverpod 与 flutter 一起使用 在我的主屏幕上 我有一个 FutureProvider 它调用 API 服务器 并在页面上显示结果 在应用程序的不同点 不同屏幕上的用户进行更改 然后我从另一个屏幕刷新提供程序 像这
  • Flutter 应用程序错误 - 类型“Timestamp”不是类型“DateTime”的子类型

    我正在获取数据云 firestore 并尝试使用以下代码在我的应用程序中显示 new Text timeago format document data tripDoc docCreatedOn 我在用着timeagodart 包来格式化它
  • 获取 pdf 第 1 页(共 2 页)的图像

    我正在使用 html2canvas 和 jsPDF 以及 Angular4 创建图像 我想将此图像放置在 2 页生成的 pdf 的第 1 页上 但似乎这条线 doc save test pdf 需要在函数内部htm2canvas 因为如果我
  • 如何检测颤振中的滑动

    我尝试使用 flutter 的滑动检测器插件来实现向右滑动导航到新屏幕 但它不起作用 不会引发任何错误 并且在调试它时永远不会命中断点 我研究了 GestureDector 但我不确定它是否适用于向右滑动的场景 我们希望它在屏幕上的任何位置
  • 从 Windows 命令行打印 PDF

    我正在尝试打印当前目录中的所有 pdf 文件 当我在 cmd 中调用这个 bash 脚本时 singlepdf sh C Program Files x86 Adobe Reader 10 0 Reader AcroRd32 exe t G
  • 仅打印字符串中的元音

    我是Python新手 我正在尝试打印字符串中的所有元音 因此 如果有人输入 嘿 一切都好吗 所有元音都需要打印 但我不知道怎么做 所以这不是计算元音 而是打印元音 现在我已经得到了这个 sentence input Enter your s
  • 在 iOS 上将 SwiftUI 视图转换为 PDF

    我用 SwiftUI 画了一些漂亮的图表 因为它非常简单且容易做 然后我想将整个 SwiftUI 视图导出为 PDF 以便其他人可以以良好的方式查看图表 SwiftUI 没有直接为此提供解决方案 Cheers Alex 经过一番思考 我想到
  • 如何获取打印机设备上下文?

    我在 Windows 上尝试使用以下命令打印增强型图元文件 EMF 播放增强元文件 http msdn microsoft com en us library dd162800 28VS 85 29 aspx 我当前正在使用屏幕上窗口的设备
  • 禁用右键单击嵌入元素内的 pdf

    我有一个embed我在其中提供路径的元素pdf文件 我想阻止它被下载 但是当我右键单击该 t 时 我会看到保存和打印 pdf 的选项 我想阻止这些选项 I tried 但它禁用除 PDF 之外的整个页面上的右键单击 一种不受 CORS 或
  • 颤动验证单选按钮

    如何将验证器函数添加到单选按钮列表中以便让它们验证 例如TextFormFields with formKey currentState validate 用户提交后Form 您可以复制粘贴运行下面的完整代码您可以使用包https pub
  • 水平翻转动画 ImageWidget Flutter

    I want to do Horizontal flip animation for CircularAvatar widget like below animation Like this i want to flip circularA

随机推荐

  • jqGrid 问题绑定子网格

    我有一个 jqGrid 无法正确显示子网格行 当我加载页面时 常规网格行以及每个网格行旁边的加号都显示良好 但是当我单击加号按钮展开它们时 正在加载 消息仍然存在 没有任何反应 我不知道这是否有什么不同 但我正在尝试在客户端执行此操作 lo
  • 有没有办法检测Excel文件是使用PHPExcel在Windows还是Mac上生成的?

    我正在使用 PHPExcel 生成一个 xls 模板 用户可以下载该模板并用他想要的数据填充它 众所周知 Excel以数字格式保存日期 我正在使用此函数来转换数据并返回时间戳 public static function excelToTi
  • 何时选择从代码隐藏而不是外部 js 文件进行 Javascript 注入

    我正在开发 C Web 应用程序 并且必须处理一些 javascript 代码 我可以使用我现在正在执行的 cs 文件中的 javascript 注入来完成此操作 也可以选择将我的代码包含到外部 js 文件中 我想知道您什么时候更愿意选择一
  • Eclipse 包资源管理器中的白色包图标

    我在我的测试项目中收到这些奇怪的白色包图标 据我所见 http jamie ideasasylum com images icons pdf http jamie ideasasylum com images icons pdf 他们发出
  • 为什么不能在 Ruby 的方法中声明常量?

    考虑以下内容 StubFoo 是 Foo 的存根 我希望将其存根以进行一些测试 class Runner def run Foo StubFoo foo Foo new using Foo end end 这会生成以下错误消息 Dynami
  • 播放实时音频流 - html5

    我有一个桌面应用程序 它通过 websocket 连接将原始 PCM 数据流式传输到我的浏览器 流看起来像这样 x00 x00 x02 x00 x01 x00 x00 x00 x01 x00 xff xff xff xff 问题很简单 我可
  • 依赖参数的上下文类型

    使用联合重载时 是否可以获取函数参数的上下文类型 declare function f args x a y a string gt void x b y a boolean gt void void Parameter x implici
  • 如何使用 YouTube API 将视频观看次数获取到 Google 电子表格中?

    有人找到了一种方法 可以通过 YouTube API 将视频观看次数导入 Google 文档吗 直到最近我才成功地使用了Google 电子表格中的 YouTube 观看次数 http www davidtoy co uk post 2684
  • 实现列表#flatMap

    有没有更好的函数式写法flatMap def flatMap A B list List A f A gt List B List B list map x gt f x flatten 从概念上讲 我理解flatMap按照flatten
  • 如何对以 TemplateRef 作为输入的 Angular 组件进行单元测试?

    我正在尝试为 Angular 组件编写单元测试 该组件可以隐藏 显示作为组件本身的输入传递的一些内容 预期的输入被定义为 TemplateRef 我的组件 组件 ts Component selector my component temp
  • 如何在 Windows 7 上安装 ora2pg?

    我下载了 zip 文件 该文件可以在线免费下载 但我无法安装下载的文件并运行该文件 任何人都可以帮我在我的 Windows 计算机上安装 ora2pg 简介 我必须将一些表从 Oracle 数据库迁移到 PostgreSQL 以便我的本地开
  • VS2012 服务器资源管理器 - 无法访问 Windows Azure 存储

    我有 VS2012 Ultimate SP3 和 Windows Azure 帐户 我已经发布了一个 MVC 3 应用程序 使用 Azure SQL Server DB 没有出现任何问题 我已经安装了Azure SDK v2 1 并且可以通
  • HttpClient.GetAsync(url) 将 504 返回到在浏览器中工作的 URL

    我可以手动访问 URL 但在使用 Net 时出现超时 我创建了一个按钮来更轻松地复制场景 有时我会收到一个异常 提示任务已取消 否则会出现 504 错误 代码片段如下 private async void Button Click 1 ob
  • vim 从 .vimrc 运行时无法打开文件,但从终端运行时可以正常打开

    每当我尝试使用 Vim 打开任何文件时 我都会收到以下错误消息 Error detected while processing home emma vimrc line 138 E484 Can t open file home emma
  • 左倾红黑树的 F# 代码优化

    我一直致力于将 LLRBT 的 C 实现移植到 F 现在它可以正确运行 我的问题是我将如何优化它 我的一些想法 使用 Node 的可区分联合来删除 null 的使用 Remove getters and setters 你不能同时拥有 nu
  • 如何将加载的图像读取到 blob 中? [复制]

    这个问题在这里已经有答案了 可能的重复 如何将图像对象转换为二进制 blob https stackoverflow com questions 13375333 how to convert an image object to a bi
  • Scala 中的理解评估很奇怪(?)

    现在 我花了a while找出为什么我的递归会以某种方式设法破坏堆栈 这是导致此问题的部分 scala gt for i lt List 1 2 3 j println why am I evaluated 10 if false yiel
  • Google App Engine 数据存储区和其他 NoSQL 数据库的无架构设计指南

    我相信许多其他人都有关系数据库背景 因此我正在寻找一些可靠的指南来在 Google App Engine 上设置 设计我的数据存储区 人们对于设置此类无模式数据存储有什么好的经验法则吗 我了解一些基础知识 例如非规范化 因为您无法进行连接
  • 静态库调试符号

    在 VS2010 中 有一个选项可以为 exe dll 生成调试信息linker但下没有这样的选项图书管理员对于库 调试信息是否嵌入静态库中 里面有一个选项C C 属性为程序数据库文件名对于库 exe 和 dll 默认情况下 它进入我的中间
  • 使用flutter打印包,如何从URL打印PDF?

    我在flutter中使用打印包 https pub dev packages printing https pub dev packages printing 该文档展示了如何从头开始创建 PDF 我已经在 URL 上有一个 PDF 有没有