作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用“iText”库读取 pdf 文件,我正在使用“getPageContent(int number)”获取页面
此方法返回 byte[],当 byte[] 加载到 WebView 时,它显示一个空 View 。
try {
PdfReader reader = new PdfReader(getAssets().open("policy.pdf"));
int n = reader.getNumberOfPages();
String base64 = android.util.Base64.encodeToString(
reader.getPageContent(1), android.util.Base64.DEFAULT);
WebView webView = new WebView(this);
webView.loadData(base64, "text/html", "base64");
setContentView(webView);
} catch (Exception e) {
e.printStackTrace();
}
最佳答案
您希望页面中的文本显示在 Webview 上。据我在 iText API 中所见,您使用的整个方法都是不正确的。
这是更正后的代码(未经测试,因为我没有图书馆许可证)
try {
PdfReader reader = new PdfReader(getAssets().open("policy.pdf"));
int n = reader.getNumberOfPages();
PRTokeniser tokenizer = new PRTokeniser(reader.getPageContent(1));
String content="";
while (tokenizer.nextToken()) {
if (tokenizer.getTokenType() == PRTokeniser.TokenType.STRING) {
content = content +"\r\n<br />" + tokenizer.getStringValue();
}
}
WebView webView = new WebView(this);
webView.loadData(content, "text/html", "UTF-8");
setContentView(webView);
} catch (Exception e) {
e.printStackTrace();
}
关于android - 如何在 webview 中加载 base64 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10616269/
我是一名优秀的程序员,十分优秀!