8

**ビットマップタイプの「thepic」変数にビットマップがあります。

imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM); 
String realpath=getRealPathFromURI(imageUri); 
thepic = BitmapFactory.decodeFile(realpath);**
4

3 に答える 3

6

この方法で実行できます... itextpdf-5.3.2.jarファイルをダウンロードして、プロジェクトに添付する必要があります..

public class WritePdfActivity extends Activity 
{
  private static String FILE = "mnt/sdcard/FirstPdf.pdf";

  static Image image;
  static ImageView img;
  Bitmap bmp;
  static Bitmap bt;
  static byte[] bArray;

  @Override
public void onCreate(Bundle savedInstanceState) 
{   
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    img=(ImageView)findViewById(R.id.imageView1);

    try 
    {
        Document document = new Document();

        PdfWriter.getInstance(document, new FileOutputStream(FILE));
        document.open();

        addImage(document);
        document.close();
    }

    catch (Exception e) 
    {
        e.printStackTrace();
    }

}
  private static void addImage(Document document) 
  {

    try 
    {
        image = Image.getInstance(bArray);  ///Here i set byte array..you can do bitmap to byte array and set in image...
    } 
    catch (BadElementException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    catch (MalformedURLException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    catch (IOException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
     // image.scaleAbsolute(150f, 150f);
      try 
      {
        document.add(image);
    } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
 }
 }
于 2013-01-18T06:30:29.180 に答える
2

サードパーティのライブラリを使用する必要があります。組み込みの機能はありません。逆のことをするライブラリをいくつか知っていますが (Qoppa、PDFTron、Reade)、どれも多額の費用がかかります。iText はビットマップへの書き込みに適していると聞いたことがありますが、自分で使用したことはありません。

于 2013-01-18T05:28:42.143 に答える
-4

私はこれを試していませんが、stackoverflowを見て答えを出します。

  1. SOのこの答えに従ってそれは不可能です

  2. SOのこの答えに従って可能です

だからあなたは両方の答えをチェックしてそれらを研究し、それがあなたを元気づけるかどうかを確認します。

于 2013-01-18T05:49:24.977 に答える