gpt4 book ai didi

flutter - 使用pdf文件的页面 curl 效果

转载 作者:行者123 更新时间:2023-12-04 08:55:37 26 4
gpt4 key购买 nike

我有一个 PDF 文件,我想重现此包页面中的页面 curl 效果:
https://pub.flutter-io.cn/packages/page_turn
我试过用这个 page_turn插件,它需要按顺序显示的小部件列表。我尝试使用 native_pdf_renderer插件来呈现pdf并在每个页面上显示,但是当我这样做时,页面是空白的。但是如果我从 PageTurn 小部件中删除,它就可以工作。

import 'package:flutter/material.dart';
import 'package:native_pdf_renderer/native_pdf_renderer.dart';
import 'package:page_turn/page_turn.dart';

class TestScreen extends StatelessWidget {
final _controller = GlobalKey<PageTurnState>();

Future<PdfPageImage> getPageImage() async {
final document = await PdfDocument.openAsset('assets/pdfs/222.pdf');
final page = await document.getPage(6);
final pageImage = await page.render(
width: page.width,
height: page.height,
format: PdfPageFormat.JPEG,
);
await page.close();
return pageImage;
}

@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: FutureBuilder<PdfPageImage>(
future: getPageImage(),
builder: (context, snapshot) {
print(snapshot.data);
if (snapshot.data == null) return CircularProgressIndicator();
// This works:
// return Image(
// image: MemoryImage(snapshot.data.bytes),
// );
//This makes all my pages blank
return PageTurn(
key: _controller,
backgroundColor: Colors.white,
children: <Widget>[
Image(
image: MemoryImage(snapshot.data.bytes),
),
Image(
image: MemoryImage(snapshot.data.bytes),
),
Image(
image: MemoryImage(snapshot.data.bytes),
),
],
);
},
)),
);
}
}

最佳答案

阅读 lib 代码后,我看到有一个小部件可以显示预渲染的图像
你应该像这样使用 PageTurnImage 而不是 Image

 PageTurn(
key: _controller,
backgroundColor: Colors.white,
children: <Widget>[
PageTurnImage(
image: MemoryImage(snapshot.data.bytes),
),
PageTurnImage(
image: MemoryImage(snapshot.data.bytes),
),
PageTurnImage(
image: MemoryImage(snapshot.data.bytes),
),
],
);
试试看,如果有效,给我一个反馈和投票

关于flutter - 使用pdf文件的页面 curl 效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63846899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com