Ashaelon wrote
> 
> 
> Ashaelon wrote
>> 
>> Hi all -
>> 
>> I am very new to Java programming, so if I ask or refer to something
>> wrong, or do not explain things well, please be gentle.  :)
>> 
>> I am using HWPF to try and read some bookmarks in an Office 2003 Word
>> Document.  I have searched and searched for answers, but have been
>> unsuccessful.  I have seen posts where people have said they have
>> successfully read the bookmarks using Apache POI, but I haven't been able
>> to decipher how they did it.  Here is the code that I am using:
>> 
>> try {
>>      FileInputStream fis = new FileInputStream(fileLoc);
>>      HWPFDocument wdDoc = new HWPFDocument(fis);
>>                                              
>>      try {
>>              DefaultTableModel tblModel = new DefaultTableModel();
>>              
>>              Bookmarks bkmkList = wdDoc.getBookmarks();
>>              int bkmkCount = bkmkList.getBookmarksCount(); 
>> //wdDoc.getBookmarks().getBookmarksCount();
>>              
>>              for (int i = 0; i < bkmkCount; i++) {
>>                      Bookmark bkmk = bkmkList.getBookmark(i);
>>                      List<String> bkmkInfo = new ArrayList<String>();
>>                      Range bkmkRange = new Range(bkmk.getStart(), 
>> bkmk.getEnd(), wdDoc);
>>                      bkmkInfo.add(bkmk.getName());
>>                      bkmkInfo.add(bkmkRange.text());
>>                                                              
>>                      tblModel.addRow(bkmkInfo.toArray());  //this part is 
>> broken right now
>>                      
>>                      bkmkInfo.clear();
>>              }
>>                                              
>>              String[] aColNames = {"Bookmark Name", "Bookmark Data"};
>>              tblModel.setColumnIdentifiers(aColNames);
>>              
>>              tblList.setModel(tblModel);  //this part is broken right now
>>      } catch (Exception ex) {
>>              JOptionPane.showMessageDialog(null, ex.getStackTrace(), "Error",
>> JOptionPane.ERROR_MESSAGE);
>>      } finally {
>>              if (fis != null) {
>>                      try {
>>                              fis.close();
>>                              fis = null;
>>                      } catch (Exception e) {
>>                              // Do nothing
>>                              e.printStackTrace();
>>                      } finally {
>>                              wdDoc = null;
>>                      }
>>              }
>>      }
>> } catch (Exception e) {
>>      JOptionPane.showMessageDialog(null, e.getStackTrace(), "Error",
>> JOptionPane.ERROR_MESSAGE);
>> }
>> 
>> I am failing to see how to get only the text of the bookmark range.  The
>> layout of the document is there are bookmarks inside of a table.  When I
>> call:
>> 
>> bkmkRange.text()
>> 
>> I get the entire row of data returned instead of just the bookmark range. 
>> I notice that getStart(); and getEnd(); return the range start and end of
>> the entire column.
>> 
>> Any suggestons of how to fix this would be much appreciated.  I am at a
>> complete loss.
>> 
> 
> 
> Just an update.  I did a test with reading the bookmarks with the code
> above.  I think I found what may be causing the issue, but i dont know how
> to fix it (fixing the Word documents is not an option).  The problem seems
> to be that the table cells are bookmarked, not the data in the cells.  For
> some reason, this causes the .getStart and .getEnd to return the range of
> the table row, not the table cell.  I truly am at a complete loss now. 
> How do I read the data out of the bookmarked table cell, or can I?
> 
> I have attached an image of my test document to show what I did.  The
> "Bookmarked Text" part works properly since the text in the cell is
> bookmarked versus the cell itself being bookmarkded.  The "Bookmarked
> Cells" part does not work correctly.
> 
> Thanks in advance.
> 


Sorry, forgot to attach the image.  Here it is.
http://apache-poi.1045710.n5.nabble.com/file/n5445488/TestDoc.png 

--
View this message in context: 
http://apache-poi.1045710.n5.nabble.com/Read-bookmarks-in-Office-2003-Word-Document-tp5431394p5445488.html
Sent from the POI - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to