【问题标题】:How to draw pdf content in flutter canvas如何在颤振画布中绘制pdf内容
【发布时间】:2021-09-26 17:25:39
【问题描述】:

我正在使用带有 pdf 包的 Flutter。在自述文件中说使用printing 在应用程序中显示 pdf。

但是,我想在 pdf 内容的前面画图(记笔记/做注释)。所以我想我必须在我的CustomPaint 小部件中绘制 pdf 内容才能获得更多控制权。

我四处寻找,没有发现任何有用的经验。请让我知道我的方法是正确/合理的,如果有更好的方法。

谢谢!

【问题讨论】:

    标签: flutter pdf canvas dart-pdf


    【解决方案1】:

    我认为您正在谈论的 README 部分是这个:

    使用打印包https://pub.dev/packages/printing获取完整 Flutter 打印和分享操作。

    此打印包用于打印到真实打印机。 您使用的 pdf 包仅用于在颤振应用程序中创建 pdf,而不是用于将其显示为小部件。

    您想要实现的是在其上显示 pdf 和注释。您的方法是正确的:

    • 使用 CustomPainter
    • 添加一个 PDF 小部件作为其子部件
    • 在前景画家上绘制注释。

    要将 pdf 显示为小部件,您需要另一个包,例如 advance_pdf_viewer

    在前景画家上绘画很重要,因为如 CustomPaint 类文档中所述:

    当被要求绘画时,CustomPaint 首先要求它的画家在上面绘画 当前画布,然后它绘制它的孩子,然后,在绘制之后 它的孩子,它要求它的foregroundPainter绘画。

    代码应如下所示:

    PDFDocument doc = await PDFDocument.fromAsset('assets/test.pdf');
    
    return CustomPaint(
      child: PDFViewer(doc: document)),
      foregroundPainter: AnnotationsPainter(),
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      相关资源
      最近更新 更多