【发布时间】:2023-03-06 09:38:01
【问题描述】:
我已使用此解决方案How Can I generate QR code and Show it on a PDF page in Flutter,但仍然无法打印二维码。
我的代码:
pdf.BarcodeWidget(
color: PdfColor.fromHex("#000000"),
barcode:pdf.Barcode.qrCode(), data: "My name is Bilal"
),
这是我的功能:
Future<Uint8List> func_generate_sale_pdf(PdfPageFormat format) {
final doc = pdf.Document();
doc.addPage(pdf.Page(build: (pdf.Context context) {
return pdf.Center(
child: pdf.Column(children: <pdf.Widget>[
pdf.Text(config.app_name.toUpperCase(),
style:
pdf.TextStyle(fontSize: 32, fontWeight: pdf.FontWeight.bold)),
pdf.SizedBox(height: 25),
pdf.Text(
" ${languages.skeleton_language_objects[config.app_language]['for_enquiries_call']} : ${config.app_contacts}",
style: pdf.TextStyle(fontSize: 22)),
pdf.SizedBox(height: 5),
pdf.Text("${config.app_po_box}", style: pdf.TextStyle(fontSize: 22)),
pdf.SizedBox(height: 5),
pdf.Text(
"${languages.skeleton_language_objects[config.app_language]['receipt']} # ${receipt_data['receipt_no']}",
style: pdf.TextStyle(fontSize: 20)),
pdf.SizedBox(height: 5),
pdf.Text("${receipt_data['date_time']}",
style: pdf.TextStyle(fontSize: 20)),
pdf.SizedBox(height: 30),
pdf.Container(
alignment: pdf.Alignment.topLeft,
child: pdf.Text("${receipt_data['items_list'].toString()}",
style: pdf.TextStyle(
fontSize: 22, fontWeight: pdf.FontWeight.normal),
textAlign: pdf.TextAlign.left),
),
pdf.SizedBox(height: 30),
pdf.Container(
child: pdf.Row(children: <pdf.Widget>[
pdf.Expanded(
flex: 1,
child: pdf.Text(
languages.skeleton_language_objects[config.app_language]
['total_amount'],
style: pdf.TextStyle(
fontSize: 20, fontWeight: pdf.FontWeight.bold),
textAlign: pdf.TextAlign.left),
),
pdf.Expanded(
flex: 1,
child: pdf.Text("${receipt_data['total_amount']}",
style: pdf.TextStyle(fontSize: 20),
textAlign: pdf.TextAlign.right),
),
])),
pdf.SizedBox(height: 10),
pdf.Container(
child: pdf.Row(children: <pdf.Widget>[
pdf.Expanded(
flex: 1,
child: pdf.Text(
languages.skeleton_language_objects[config.app_language]
['total_items'],
style: pdf.TextStyle(
fontSize: 20, fontWeight: pdf.FontWeight.bold),
textAlign: pdf.TextAlign.left),
),
pdf.Expanded(
flex: 1,
child: pdf.Text("${receipt_data['total_items']}",
style: pdf.TextStyle(fontSize: 20),
textAlign: pdf.TextAlign.right),
),
])),
pdf.SizedBox(height: 10),
pdf.Container(
height: 35,
child: pdf.Row(children: <pdf.Widget>[
pdf.Expanded(
flex: 1,
child: pdf.Text(
languages.skeleton_language_objects[config.app_language]
['total_tax'],
style: pdf.TextStyle(
fontSize: 20, fontWeight: pdf.FontWeight.bold),
textAlign: pdf.TextAlign.left),
),
pdf.Expanded(
flex: 1,
child: pdf.Text("${receipt_data['total_tax_amount']}",
style: pdf.TextStyle(fontSize: 20),
textAlign: pdf.TextAlign.right),
),
])),
pdf.SizedBox(height: 35),
pdf.Text(
languages.skeleton_language_objects[config.app_language]
['thant_you_and_come_again'],
style: pdf.TextStyle(fontSize: 24)),
//From here on, the compiler doesn't print anything.
pdf.BarcodeWidget(
color: PdfColor.fromHex("#000000"),
barcode:pdf.Barcode.qrCode(), data: "My name is Bilal"
),
pdf.Text("SkillzUPP Technologies: +923058431046",
style: pdf.TextStyle(fontSize: 24),
textAlign: pdf.TextAlign.center),
pdf.SizedBox(height: 10),
]),
); // Center
}));
return doc.save();
}
除 QR 码外,所有内容都可以正常打印,并且在该特定行,此错误会显示在终端:
Helvetica-Bold has no Unicode support see https://github.com/DavBfr/dart_pdf/wiki/Fonts-Management
【问题讨论】:
标签: flutter dart pdf qr-code barcode