我是Android的新手。我正在Android中使用iText实现PDF文档。我想在我的应用程序中阅读PDF文档。我不知道如何在我的应用程序中访问PDF文档。我已经创建但是当我运行应用程序时,我得到了FileNotFoundException
的异常,我还通过DD-MS在SD卡中导入PDF文件。但PDF文件无法在Android中打开。这是我的代码:
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.codec.Base64.InputStream;
public class MainActivity extends Activity
{
private static String FILE = "xyz.pdf";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssetManager assetManager = getAssets();
InputStream istr = null;
PdfReader reader = null;
String str = null;
int n = 0;
try
{
istr =(InputStream) assetManager.open("xyz.pdf");
reader=new PdfReader(istr);
n=reader.getNumberOfPages();
Log.e("n value:","-> " +n);
str=reader.getPageContent(2).toString();
}
catch(Exception e)
{
e.printStackTrace();
}
TextView tv = (TextView) findViewById(R.id.textOne);
tv.setText(str);
}
}
答案 0 :(得分:5)
据我所知,iText仅用于创建PDF,它不包含查看器部分。它是一个解析器,而不是一个渲染器。所以你需要选择另一个库来查看pdf.Bare是一些优秀的代码示例,你可以查看它是否符合你的要求..
您可以尝试其他解决方案而不是iText ..
- Render a PDF file using Java on Android
- http://andpdf.svn.sourceforge.net/viewvc/andpdf/trunk/
最后一个优秀的工作代码..
- Example of code to implement a PDF reader
答案 1 :(得分:0)
我们可以从iText中提取数据。在这里,我从PDF文件中提取文本并在Edit-text上显示:
String pat = data.getData().getPath();
File f = new File(pat);
static PdfReader read;
read = new PdfReader(new FileInputStream(f));
PdfReaderContentParser parser;
parser = new PdfReaderContentParser(read);
StringWriter strw;
strw = new StringWriter();
TextExtractionStrategy stretegy;
stretegy = parser.processContent(j, new SimpleTextExtractionStrategy());
strw.write(stretegy.getResultantText());
String da = strw.toString();
edt1.setText(da);