如何生成 PDF 文件的缩略图而不在 Flutter 应用程序中下载?

我必须在我的聊天部分显示 PDF 缩略图,所以我需要生成相应的文档缩略图。我尝试了不同的方法,但大多数方法需要下载文件并从本地存储中选择相应的文件来生成文档的图像。有什么办法可以解决我的问题吗?如果已经存在任何东西,请帮助我到达那里。谢谢你。

stack overflow How to generate thumbnail for PDF file without downloading it in the flutter app?
原文答案

答案:

作者头像

您可以使用 pdf_render API 将页面生成为缩略图的图像。

参考 sample

final pageImage = await page.render();
final image = await pageImage.createImageDetached();
final pngData = await image.toByteData(ImageByteFormat.png);
作者头像

使用 pdf_renderflutter_cache_manager 包显示 pdf 的缩略图。

Container(
    height: 80.sp,
    width: 80.sp,
    padding: EdgeInsets.all(5.sp),
    color: ColorsCustom.white,
    child: PdfViewer.openFutureFile(
          () async => (await DefaultCacheManager()
                      .getSingleFile(model.fileUrl)).path,
                          viewerController: controller,
                          params: const PdfViewerParams(
                          padding: 0),
            ),
)
作者头像

您可以使用 pdf_thumbnail 包。

PdfThumbnail.fromFile(pdfFile)

enter image description here