• 07-10-2021, 09:39:02
    #1
    pdf.addPage(pw.MultiPage(
    pageFormat: PdfPageFormat.a4,
    orientation: pw.PageOrientation.portrait,
    build: (context) => [
    pw.Table.fromTextArray(context: context, data: <List<String>>[
    <String>['baslik', 'icerik'],
    ...products
    .map((e) => [
    e.baslik.toString(), e.icerik.toString()])
    ])
    ]));
    final String dir = (await getApplicationDocumentsDirectory()).path;
    final String path = '$dir/example.pdf';
    final File file = File(path);
    file.writeAsBytesSync(await pdf.save());
    Navigator.push(
    context,
    MaterialPageRoute(
    builder: (context) => PdfPreviewScreen(
    path: path,
    )));
    }

    [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Invalid argument (string): Contains invalid characters.: "aşısı:"
    E/flutter (26462): #0 _UnicodeSubsetEncoder.convert (dart:convert/ascii.dart:89:9)
    E/flutter (26462): #1 Latin1Codec.encode (dart:convert/latin1.dart:40:46)



    Flutter pdf oluşturup görüntülemeye çalışıyorum ama pdf içeriğine Türkçe karakter kabul etmiyor. Bu yüzden Türkçe karakter içeriklerinde hata veriyor. İnternette yer alan çözüm yollarını denedim ama çözüm bulamadım. yardımcı olursanız memnun olurum. Teşekkürler..
  • 07-10-2021, 10:20:51
    #2
    Kesin çözümü bilmiyorum ama deneyimlersem eğer cevabını iletirim size parse metotlarına detaylı bakmanızı öneririm.
  • 12-10-2021, 11:05:27
    #3
    OpenFile.open('$path/$fileName'); şeklinde harici olarak telefonda pdf viewer varsa gösterebilirsiniz.