本文整理匯總了Java中org.docx4j.wml.CTAltChunk類的典型用法代碼示例。如果您正苦於以下問題:Java CTAltChunk類的具體用法?Java CTAltChunk怎麽用?Java CTAltChunk使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
CTAltChunk類屬於org.docx4j.wml包,在下文中一共展示了CTAltChunk類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: insertDocx
import org.docx4j.wml.CTAltChunk; //導入依賴的package包/類
private void insertDocx(MainDocumentPart main, byte[] bytes, int chunkId) {
try {
AlternativeFormatInputPart afiPart = new AlternativeFormatInputPart(new PartName("/part" + chunkId + ".docx"));
// afiPart.setContentType(new ContentType(CONTENT_TYPE));
afiPart.setContentType(new ContentType(ContentTypes.APPLICATION_XML));
afiPart.setBinaryData(bytes);
Relationship altChunkRel = main.addTargetPart(afiPart);
CTAltChunk chunk = Context.getWmlObjectFactory().createCTAltChunk();
chunk.setId(altChunkRel.getId());
main.addObject(chunk);
} catch (Exception e) {
e.printStackTrace();
}
}
示例2: insertDocx
import org.docx4j.wml.CTAltChunk; //導入依賴的package包/類
private static void insertDocx(MainDocumentPart main, byte[] bytes, int chunkId) {
try {
AlternativeFormatInputPart afiPart = new AlternativeFormatInputPart(new PartName("/part" + chunkId + ".docx"));
afiPart.setContentType(new ContentType(CONTENT_TYPE));
afiPart.setBinaryData(bytes);
Relationship altChunkRel = main.addTargetPart(afiPart);
CTAltChunk chunk = Context.getWmlObjectFactory().createCTAltChunk();
chunk.setId(altChunkRel.getId());
main.addObject(chunk);
} catch (Exception e) {
e.printStackTrace();
}
}
示例3: insertDocx
import org.docx4j.wml.CTAltChunk; //導入依賴的package包/類
private static void insertDocx(MainDocumentPart main, byte[] bytes, int chunkId) {
try {
AlternativeFormatInputPart afiPart = new AlternativeFormatInputPart(new PartName("/part" + chunkId + ".docx"));
afiPart.setContentType(new ContentType(CONTENT_TYPE));
afiPart.setBinaryData(bytes);
Relationship altChunkRel = main.addTargetPart(afiPart);
CTAltChunk chunk = Context.getWmlObjectFactory().createCTAltChunk();
chunk.setId(altChunkRel.getId());
main.addObject(chunk);
} catch (Exception e) {
e.printStackTrace();
}
}
示例4: mergeUsingCTAltChunk
import org.docx4j.wml.CTAltChunk; //導入依賴的package包/類
/**
* Merge two docx files using an approach that is based on CTAltChunk.
*
* @param separatorTexts
* @param topFile
* @param bottomFile
* @param outputFile
* @return
* @throws Exception
*/
protected static File mergeUsingCTAltChunk(
WordprocessingMLPackage topPackage, File bottomFile,
File outputFile) throws Exception {
/*
* Based on
* https://stackoverflow.com/questions/2494549/is-there-any-java-library
* -maybe-poi-which-allows-to-merge-docx-files
*
*/
FileInputStream bottomIs = new FileInputStream(bottomFile);
MainDocumentPart topMainPart = topPackage.getMainDocumentPart();
// Get binary representation of bottom file
byte[] bottomAsBytes = IOUtils.toByteArray(bottomIs);
/*
* Determine a suitable name for the new part, one that is not already
* taken (in case of multiple merges).
*/
Parts docParts = topPackage.getParts();
Set<PartName> docPartsNames = docParts.getParts().keySet();
Set<String> plainPartNames = new HashSet<String>();
for (PartName pn : docPartsNames) {
plainPartNames.add(pn.getName());
}
String partName = null;
int index = 0;
do {
partName = "/part" + index + ".docx";
index++;
} while (plainPartNames.contains(partName));
/*
* Now add the bottom file as another part to the top package, and add a
* CTAltChunk to the main document of the top package that references
* this new part.
*/
AlternativeFormatInputPart afiPart = new AlternativeFormatInputPart(
new PartName(partName));
afiPart.setContentType(new ContentType(CONTENT_TYPE));
afiPart.setBinaryData(bottomAsBytes);
Relationship altChunkRel = topMainPart.addTargetPart(afiPart);
CTAltChunk chunk = Context.getWmlObjectFactory().createCTAltChunk();
chunk.setId(altChunkRel.getId());
topMainPart.addObject(chunk);
topMainPart.convertAltChunks();
/*
* Finally, save the modified top package to the output file and return
* that file.
*/
topPackage.save(outputFile);
return outputFile;
}