[英]Add image to PDF from a URL?
我正在嘗試將來自 URL 地址的圖像添加到我的 pdf 中。 代碼是:
Image image=Image.getInstance("http://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif");
image.scaleToFit((float)200.0, (float)49.0);
paragraph.add(image);
但它不起作用。 有什么問題?
這是使用 iText 從遠程位置加載 .gif 時的一個已知問題。
對此的解決方法是使用 Java 下載 .gif(而不是通過 iText 的 Image 類的 getInstance 方法)並在 Image 類的 getInstance 方法中使用下載的字節。
編輯:我繼續在 iText 中修復了遠程 gif 加載,它包含在 iText 5.4.1 及更高版本中。
無法通過 URL 將圖像添加到 Itext PDF 中。 在PDF中添加圖像的唯一方法是將所有圖像下載到本地目錄並應用以下代碼
String photoPath = Environment.getExternalStorageDirectory() + "/abc.png";
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
final Bitmap b = BitmapFactory.decodeFile(photoPath, options);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Bitmap.createScaledBitmap(b, 10, 10, false);
b.compress(Bitmap.CompressFormat.PNG, 30, stream);
Image img = null;
byte[] byteArray = stream.toByteArray();
try {
img = Image.getInstance(byteArray);
} catch (BadElementException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
您用於向 IText PDF 添加圖像的方式是用於添加本地文件的方式,而不是 URL。
對於 URL,這種方式可以解決問題。
String imageUrl = "http://www.google.com/intl/en_ALL/"
+ "images/logos/images_logo_lg.gif";
Image image = Image.getInstance(new URL(imageUrl));
然后,您可以繼續使用document.add(image)
將此image
添加到某個先前打開的document
。
如需進一步參考,請訪問 [ Java IText: Image docs ]。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.