1
votes

Following code generates empty pdf, can you please point out the error I am using dart pdf package https://pub.dev/packages/pdf. pdf is getting generated but content is empty.

adding tag flutter, if someone has used same package in flutter and may know answer.

import 'dart:io';
import 'package:pdf/pdf.dart';

main() {
  try {
    createPdf();
  } catch (e) {
    print(e);
  }
}
void createPdf() async {
   PdfDocument pdf = PdfDocument();
   PdfPage page = PdfPage(pdf);
   PdfImage image =
      PdfImage.file(pdf, bytes: File('./test.jpg').readAsBytesSync());
  final g = page.getGraphics();
  g.drawImage(image, image.height.toDouble(), image.width.toDouble());
  final file = File("./test.pdf");
  await file.writeAsBytes(pdf.save());
}

1

1 Answers

0
votes

You should use the widgets library:

import 'dart:io';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart';

void main() {
  try {
    createPdf();
  } catch (e) {
    print(e);
  }
}

void createPdf() async {
  final doc = Document();
  final image = PdfImage.file(doc.document, bytes: File('./test.jpg').readAsBytesSync());

  doc.addPage(
    Page(
      build: (context) => Center(child: Image(image)),
    ),
  );

  final file = File("./test.pdf");
  await file.writeAsBytes(doc.save());
}