I think it's good aim, to develop new class for AltChunk. But I'm only at the beginnig on this way)) Do you know is there a place where MS Word or Excel saves logs with detailed errors which happened when it try to open corrupted documents?
>Среда, 18 мая 2016, 18:30 +03:00 от "Javen O'Neal" <[email protected]>: > >Thanks for looking into this. If you can figure out how to wrap this into >an easy-to-use class, certainly submit a patch on bugzilla to get this >added to the baseline. I'd be happy to help you get this integrated. >On May 18, 2016 3:55 AM, "Алексей Ушаровский" < [email protected] > wrote: > >> I guess, i found something by reading sources of Apache POI library! >> >> QName ALTCHUNK$58 = new QName ( " >> http://schemas.openxmlformats.org/wordprocessingml/2006/main " , >> "altChunk" ) ; >> QName ID$2 = new QName ( " >> http://schemas.openxmlformats.org/officeDocument/2006/relationships " , >> "id" ) ; >> >> CTDocument1 ctDoc = doc. getDocument ( ) ; >> CTBodyImpl b = ( CTBodyImpl ) ctDoc. getBody ( ) ; >> XmlComplexContentImpl ac = ( XmlComplexContentImpl ) b. get_store ( ) . >> add_element_user ( ALTCHUNK$58 ) ; >> >> org. apache . xmlbeans . SimpleValue target = ac. get_store ( ) . >> add_attribute_user ( ID$2 ) ; >> target. setStringValue ( id ) ; >> >> This code is creating correct altChank element in the body of docx >> document. Now I'm thinking, how to put another docx inside this one with >> correct content type an relation object. >> How I understand, this way is usful for many different low level >> modifications of OOXML. >> >> >Вторник, 17 мая 2016, 22:43 +03:00 от Алексей Ушаровский < [email protected] >> >: >> > >> > >> >Great thanks for explaining your experience. I'm only beginning to work >> with office document in Java and now searching for good library for my >> task. It's very interesting to read what you've written. >> >Have you ever work with docx4j library? >> >-- >> >Отправлено из Mail.Ru для Android вторник, 17 мая 2016г., 21:20 +03:00 от >> "Javen O'Neal" < [email protected] > : >> > >> >>I haven't worked with POI's XWPF package yet, so your guess is better >> than >> >>mine. >> >> >> >>However, I would assume that POI doesn't support document concatenating >> and >> >>that people have written their own code to define how they want to >> combine >> >>the documents. For example, how do you combine two documents with >> different >> >>headers and footers, different style themes, different XML namespaces, >> >>different VBA macros, etc? How do you resolve collisions of named fields? >> >>Do you start the second document on the last page of the first document >> or >> >>on a new page? How do you handle different page layouts, margins, and >> >>printer settings? Combining bibliographies? >> >> >> >>It might be possible to write a function that indisputably combines two >> >>very simple documents, but it'd be tricky to implement something that >> >>satisfies everyone's needs that handles complex documents. >> >> >> >>If all your after is merging the paragraphs, then you could for-loop over >> >>the paragraphs and copy them into the first document, creating a new page >> >>before you start copying if that's the behavior you want. If you control >> >>the format of the files that will be merged (say documents are rich text >> >>plus pictures, text boxes, and tables), you might be able to get away >> with >> >>this. If you don't have control, this would take a lot of effort with >> POI. >> >> >> >>If you're just after the text content, look at XWPFWordExtractor >> >> >> >> http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/extractor/XWPFWordExtractor.java?view=markup >> >> >> >>If you're willing to embed a document rather than joining a document, you >> >>could use UpdateEmbeddedDoc >> >> >> >> http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/UpdateEmbeddedDoc.java?view=markup >> >> >> >>For non-POI solutions: >> >>Look at what LibreOffice/OpenOffice do, both in application behavior and >> >>source code. I think they have a headless API if you're still evaluating >> >>software libraries that meet your needs. >> >> >> >>If you have MS Office installed on your system, you could use VBA scripts >> >>to automate this. You could also write code that remote controls Word >> over >> >>a COM port. >> >> >> >>Searching on Google for "altChunk POI", someone said Aspose (a commercial >> >>$$$ library) has support for altChunk. I recently migrated 3 software >> >>products at my company from Aspose Cells to POI Spreadsheet due to >> >>increased licensing costs and poorly documented API, no source code >> access >> >>(to make up for the API documentation), inability to add missing features >> >>with a forked version, and lack of transparency of memory/speed >> performance >> >>due to closed source. >> >> >> >>Best of luck solving your problem! >> >>On May 17, 2016 09:29, "Алексей Ушаровский" < [email protected] > wrote: >> >> >> >> >> >>And another question. Is there any standard way to join two docx files >> into >> >>one document by POI. Unfortunately i found nothing about it in the >> internet. >> >>-- >> >>Отправлено из Mail.Ru для Android вторник, 17 мая 2016г., 18:55 +03:00 от >> >>Алексей Ушаровский < [email protected] > : >> >> >> >>> >> >>>Thank you, Javen! >> >>>How I understand problem is not only on hi level interface. POI has it >> own >> >>classes which implement many but not all OOXML items. >> >>>-- >> >>>Отправлено из Mail.Ru для Android вторник, 17 мая 2016г., 18:49 +03:00 >> от >> >>"Javen O'Neal" < [email protected] > : >> >>> >> >>>>Yes, if you're willing to write using CT* classes. >> >>>> >> >> >> >> http://www.atetric.com/atetric/javadoc/org.apache.poi/ooxml-schemas/1.1/org/openxmlformats/schemas/wordprocessingml/x2006/main/CTBody.html >> >>>> >> >>>>I couldn't find a higher-level abstraction on top of this in POI >> though. >> >>>>If you get something working, please submit it back to POI so that your >> >>>>work can benefit others with a similar problem. >> >>>>On May 17, 2016 8:34 AM, "Алексей Ушаровский" < [email protected] > >> wrote: >> >>>> >> >>>> Hello! >> >>>>Is it possible to use altChunk OOXML items in docx by POI library? >> >>>> >> >>>>-- >> >>>>Regards, >> >>>>Alex >> >>
