pdf - Flutter 创建具有不同页面大小和字体大小的 pdf 文件
问题描述
这里有为颤振创建pdf文件的代码。我正在使用插件pdf 1.0.6。
我的问题:
- 如何创建一个宽度为 75mm 且自动高度适合内容的 pdf 文件?
如何创建具有不同字体大小的多行文本?
PDFDocument _generateDocument() { final pdf = new PDFDocument(deflate: zlib.encode); final page = new PDFPage(pdf, pageFormat: PDFPageFormat.A4); final g = page.getGraphics(); final font = new PDFFont(pdf); final top = page.pageFormat.height; g.setColor(new PDFColor(0.0, 1.0, 1.0)); g.drawRect(50.0 * PDFPageFormat.MM, top - 80.0 * PDFPageFormat.MM, 100.0 * PDFPageFormat.MM, 50.0 * PDFPageFormat.MM); g.fillPath(); g.setColor(new PDFColor(0.3, 0.3, 0.3)); g.drawString(font, 12.0, "Hello World!", 10.0 * PDFPageFormat.MM, top - 10.0 * PDFPageFormat.MM); return pdf;
}
解决方案
我建议您更新到最新版本pdf: ^1.4.
,因为如何构建 pdf 发生了很大变化。
- 对于格式大小,我会尝试 PdfPageFormat.undefined 或在你的情况下 PdfPageFormat(75, double.infinity)
- 对于不同大小的多行,我将使用创建使用小部件的 pdf 的新方法。请参阅示例:
https://github.com/DavBfr/dart_pdf/blob/master/pdf/example/main.dart
简单到
pdf.addPage(Page(
pageFormat: PdfPageFormat.a4,
build: (Context context) {
return Center(
child: Text('Hello World', style: TextStyle(fontSize: 40)),
); // Center
})); // Page
推荐阅读
- android - 部分约束集动画
- c# - 如何将图像复制到 Selenium 中的剪贴板?
- postgresql - 删除“删除级联”约束
- c - 在 C 代码中使用数百万个 malloc() 和 free() 的结果?
- regex - Discord 用户名格式检查
- javascript - 文章数组根据使用 Javascript 减少的主题拆分为子数组
- php - 用于插入、删除和移动行到另一个表的 HTML 表单---
- ms-access - 用于根据名称查找和打开文件夹的 VBA 代码
- reactjs - react-native-video 实例化时崩溃应用程序
- python - Python ctypes 返回一个函数指针数组