Android 如何在webview中加载base64字符串?

Android 如何在webview中加载base64字符串?,android,pdf,Android,Pdf,我试图使用“iText”库读取pdf文件&我使用“getPageContent(int number)获取页面 此方法返回字节[],当字节[]加载到WebView时,它将显示一个空视图 try { PdfReader reader = new PdfReader(getAssets().open("policy.pdf")); int n = reader.getNumberOfPages(); String base64

我试图使用“iText”库读取pdf文件&我使用“getPageContent(int number)获取页面

此方法返回字节[],当字节[]加载到WebView时,它将显示一个空视图

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上。据我在iTextAPI中看到的,您正在使用的整个方法是不正确的

以下是更正的代码(未经测试,因为我没有库许可证)

试试看{
PdfReader=newpdfReader(getAssets().open(“policy.pdf”);
int n=reader.getNumberOfPages();
PRTokeniser tokenizer=新的PRTokeniser(reader.getPageContent(1));
字符串内容=”;
while(tokenizer.nextToken()){
if(tokenizer.getTokenType()==PRTokeniser.TokenType.STRING){
content=content+“\r\n
”+tokenizer.getStringValue(); } } WebView WebView=新的WebView(此); 加载数据(内容,“文本/html”、“UTF-8”); setContentView(网络视图); }捕获(例外e){ e、 printStackTrace(); }
您希望网页中的文本显示在Webview上。据我在iTextAPI中看到的,您正在使用的整个方法是不正确的

以下是更正的代码(未经测试,因为我没有库许可证)

试试看{
PdfReader=newpdfReader(getAssets().open(“policy.pdf”);
int n=reader.getNumberOfPages();
PRTokeniser tokenizer=新的PRTokeniser(reader.getPageContent(1));
字符串内容=”;
while(tokenizer.nextToken()){
if(tokenizer.getTokenType()==PRTokeniser.TokenType.STRING){
content=content+“\r\n
”+tokenizer.getStringValue(); } } WebView WebView=新的WebView(此); 加载数据(内容,“文本/html”、“UTF-8”); setContentView(网络视图); }捕获(例外e){ e、 printStackTrace(); }

为什么要将Base64编码字符串打印到Webview中?。您想要可读格式还是编码格式?。你确定吗?我想在WebView中将该pdf页面显示为图像代码中的图像在哪里?。您可以使用PDFReader以字符串或字节[]的形式获取内容。因此,该页面的内容是一个图像?它显示无法读取的数据PDF页面的内容是什么?。完整或文本形式的图像。为什么要将Base64编码字符串打印到Webview中?。您想要可读格式还是编码格式?。你确定吗?我想在WebView中将该pdf页面显示为图像代码中的图像在哪里?。您可以使用PDFReader以字符串或字节[]的形式获取内容。因此,该页面的内容是一个图像?它显示无法读取的数据PDF页面的内容是什么?。图片完整还是文字?@BhaskarReddy我已经编辑了代码。现在试试看。很抱歉犯了一个愚蠢的错误。没有结果显示大量文本,如“Tm[0.00(nd)14.0TM-jhgsu]……”@BhaskarReddy您是iText API的新手吗?。我认为您调用的方法不正确。这是我根据您的要求编写的代码。现在检查它。是的,现在我得到了文本,但它与原始文本完全不同,它逐字显示,没有出现标题我观察到,显示的数据不是来自可见内容,它显示隐藏文本…@Bhaskarredy我编辑了代码。现在试试看。很抱歉犯了一个愚蠢的错误。没有结果显示大量文本,如“Tm[0.00(nd)14.0TM-jhgsu]……”@BhaskarReddy您是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();
}