itext ライブラリを使用して PDF ファイルから画像を抽出し、PDF ファイルを Android アプリケーションのアセット フォルダーに配置し、itext ライブラリを使用してこれらの画像を Android に表示したいと考えています。
質問する
3750 次
1 に答える
3
iText
はJavaライブラリであるため、Androidで使用できます。
アセットフォルダに保存できますか?いいえ。その読み取り専用
代わりにSDカードに保存してみてください。
https://github.com/itext/i7js-samples/tree/develop/publications/book/src/test/java/com/itextpdf/samples/book/part4/chapter15espをご覧ください 。ファイル:Listing_15_30 / 31*.java彼らはiTextで画像を抽出する方法を教えてくれるはずです
Android用にカスタマイズするには
import com.itextpdf.text.pdf.parser.ImageRenderInfo;
import com.itextpdf.text.pdf.parser.PdfImageObject;
import com.itextpdf.text.pdf.parser.RenderListener;
import com.itextpdf.text.pdf.parser.TextRenderInfo;
public class MyImageRenderListener implements RenderListener {
/** The new document to which we've added a border rectangle. */
protected String path = "";
/**
* Creates a RenderListener that will look for images.
*/
public MyImageRenderListener(String path) {
this.path = path;
}
/**
* @see com.itextpdf.text.pdf.parser.RenderListener#beginTextBlock()
*/
public void beginTextBlock() {
}
/**
* @see com.itextpdf.text.pdf.parser.RenderListener#endTextBlock()
*/
public void endTextBlock() {
}
/**
* @see com.itextpdf.text.pdf.parser.RenderListener#renderImage(
* com.itextpdf.text.pdf.parser.ImageRenderInfo)
*/
public void renderImage(ImageRenderInfo renderInfo) {
try {
String filename;
FileOutputStream os;
PdfImageObject image = renderInfo.getImage();
if (image == null) return;
filename = String.format(path, renderInfo.getRef().getNumber(), image.getFileType());
os = new FileOutputStream(filename);
os.write(image.getImageAsBytes());
os.flush();
os.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
public void renderText(TextRenderInfo renderInfo) {
}
}
于 2013-01-02T11:35:08.870 に答える