2012-05-04 23 views
13

Tôi mới làm hiển thị tệp trong android và tôi muốn hiển thị hoặc hiển thị tệp docx trong ứng dụng của mình.Cách hiển thị hoặc đọc tệp docx

Tôi đã trích xuất văn bản từ tệp docx, nhưng bây giờ tôi cũng muốn trích xuất hình ảnh từ tệp docx.

Tôi đã tìm thấy một số cách để hiển thị hình ảnh bằng Java thuần túy, nhưng có bất kỳ ví dụ hay nào cho Android không?

Tôi đã thử mã này để lấy hình ảnh nhưng không làm việc ...

public void extractImages(Document xmlDoc) 
{ 
    NodeList binDataList = xmlDoc.getElementsByTagName("w:drawings"); 
    String fileName = ""; 
    Node currentNode; 
    for(int i = 0; i < binDataList.getLength(); i++) 
    { 
     currentNode = binDataList.item(i); 
     if(currentNode.getNodeType() == Node.ELEMENT_NODE && ((Element)currentNode).hasAttribute("w:name")) 
     {    
      File newImageFile = new File(picDirectory, ((Element)currentNode).getAttribute("w:name").replaceFirst("wordml://", "")); 
      if(newImageFile.exists()) 
      { 

      } 
      else 
      { 
       if(writeImage(newImageFile, currentNode)) 
       { 
        //Print some success message 
       } 
      } 
     } 
    } 
+0

Bạn đang tìm kiếm so sánh các tệp? Tôi có cùng một vấn đề! http://stackoverflow.com/questions/13411678/docx4j-giving-wrong-result –

Trả lời

8

Có một cái nhìn tại AndroidDocxToHtml, mà tôi thực hiện để chứng minh sử dụng docx4j trên Android.

Một vài cảnh báo.

Trước tiên, dự án đó không bao gồm tất cả các phụ thuộc docx4j, chỉ những yêu cầu cần thiết cho docx để chuyển đổi HTML. Vì vậy, nếu bạn muốn làm những việc khác, bạn có thể cần những người khác của các phụ thuộc.

Thứ hai, docx4j yêu cầu JAXB - xem this blog post re JAXB on Android - và JAXB bối cảnh init khi khởi động ứng dụng mất một lúc tùy thuộc vào thiết bị. Có nhiều cách để giải quyết vấn đề này, nhưng nỗ lực hơn nữa.

Nếu tất cả những gì bạn muốn làm là trích xuất hình ảnh và bạn không quan tâm chúng liên quan đến văn bản như thế nào, bạn chỉ có thể tìm kiếm các phần hình ảnh. Bạn có thể sử dụng OpenXML4J cho điều đó và tránh JAXB.

5

Cách đơn giản nhất để tạo ra một hình ảnh trong Android là sử dụng phương pháp BitmapFactory nhà máy.

Lớp BitmapFactory có phương pháp tạo Bitmap từ mảng byte, tệp hoặc InputStream.

Khi bạn có đối tượng Bitmap, bạn có thể hiển thị đối tượng bằng cách đặt nó trên ImageView trong bố cục của bạn bằng cách sử dụng phương thức setImageBitmap.

+0

điều là làm cách nào tôi có thể lấy hình ảnh từ tệp docx tôi biết rằng cách hiển thị và chuyển đổi tôi muốn cách lấy hoặc trích xuất hình ảnh từ tệp docx ....... – SilentKiller

+0

Bạn cần phải tìm thư viện có thể đọc tệp .docx. Tôi đã không bao giờ phải làm điều này trước đây, nhưng bất kỳ thư viện phong nha nên cung cấp một phương pháp để trích xuất dữ liệu hình ảnh từ tập tin. Tôi khuyên bạn nên dùng thử Google: http://goo.gl/Bcw8e – twaddington

6

Bạn chỉ có thể giải nén các tập tin (rename để .zip và mở nó) sau đó bạn có thể điều tra cấu trúc thư mục, nơi mà hình ảnh được nằm, vv

+0

tôi đã giải nén và tải tất cả hình ảnh nhưng tôi muốn chúng theo cách tương ứng như .. 1. TEXT 2. Hình ảnh sau đó lại văn bản theo cách đó ..... – SilentKiller

+0

tôi mất email. cuộc trò chuyện đã biến mất .. – Priyanka

Các vấn đề liên quan