当前位置: 首页>>代码示例>>Java>>正文


Java BinaryPartAbstractImage.createImageInline方法代码示例

本文整理汇总了Java中org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage.createImageInline方法的典型用法代码示例。如果您正苦于以下问题:Java BinaryPartAbstractImage.createImageInline方法的具体用法?Java BinaryPartAbstractImage.createImageInline怎么用?Java BinaryPartAbstractImage.createImageInline使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage的用法示例。


在下文中一共展示了BinaryPartAbstractImage.createImageInline方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: newImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
public P newImage(WordprocessingMLPackage wordMLPackage,  
        ObjectFactory factory, byte[] bytes, String filenameHint,  
        String altText, int id1, int id2, long cx) throws Exception {  
    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage  
            .createImagePart(wordMLPackage, bytes);  
    Inline inline = imagePart.createImageInline(filenameHint, altText, id1,  
            id2, cx, false);  
    // Now add the inline in w:p/w:r/w:drawing  
    P p = factory.createP();  
    R run = factory.createR();  
    p.getContent().add(run);  
    Drawing drawing = factory.createDrawing();  
    run.getContent().add(drawing);  
    drawing.getAnchorOrInline().add(inline);  
    return p;  
}
 
开发者ID:vindell,项目名称:docx4j-template,代码行数:17,代码来源:Docx4j_创建表格_S5_Test.java

示例2: writeImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
@Override
public void writeImage(final BufferedImage image) {
	final P imageParagraph = this.wmlObjectFactory.createP();

	final R imageRun = this.wmlObjectFactory.createR();
	imageParagraph.getContent().add(imageRun);

	final Drawing drawing = this.wmlObjectFactory.createDrawing();
	imageRun.getContent().add(drawing);

	try {
		final ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
		ImageIO.write(image, "PNG", byteOutputStream);
		final BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(this.extractedDocument.getDocumentPackage(),
				byteOutputStream.toByteArray());
		final Inline imageInline = imagePart.createImageInline("Filename", "An image", nextUniqueImageId(), nextUniqueImageId(), false);

		drawing.getAnchorOrInline().add(imageInline);
	} catch (final Exception e) {
		throw new RuntimeException(e);
	}

	addParagraph(imageParagraph);
}
 
开发者ID:mizitch,项目名称:story-inspector,代码行数:25,代码来源:DocXReportSummaryWriter.java

示例3: newImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/**
 * 创建包含图片的内容
 *
 * @param word
 * @param sourcePart
 * @param imageFilePath
 * @return
 * @throws Exception
 */
public static P newImage(WordprocessingMLPackage word,
                         Part sourcePart,
                         String imageFilePath) throws Exception {
    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage
            .createImagePart(word, sourcePart, new File(imageFilePath));
    //随机数ID
    int id = (int) (Math.random() * 10000);
    //这里的id不重复即可
    Inline inline = imagePart.createImageInline("image", "image", id, id * 2, false);

    Drawing drawing = factory.createDrawing();
    drawing.getAnchorOrInline().add(inline);

    R r = factory.createR();
    r.getContent().add(drawing);

    P p = factory.createP();
    p.getContent().add(r);

    return p;
}
 
开发者ID:vindell,项目名称:docx4j-template,代码行数:31,代码来源:Docx4jTest.java

示例4: newImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/**
 * Create image, without specifying width
 * 
 * @param wordMLPackage
 *            : a reference to the docx file
 * @param bytes
 *            : data of the image
 * @param filenameHint
 *            : file name or hint
 * @param altText
 *            : alternative text
 * @return the created paragraph that contains image
 * @throws Exception
 */
private static org.docx4j.wml.P newImage(WordprocessingMLPackage wordMLPackage, byte[] bytes, String filenameHint,
		String altText) throws Exception {

	BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);

	Inline inline = imagePart.createImageInline(filenameHint, altText, id1++, id2++, false);

	// Now add the inline in w:p/w:r/w:drawing
	org.docx4j.wml.P p = wmlObjectFactory.createP();
	org.docx4j.wml.R run = wmlObjectFactory.createR();
	p.getContent().add(run);
	org.docx4j.wml.Drawing drawing = wmlObjectFactory.createDrawing();
	run.getContent().add(drawing);
	drawing.getAnchorOrInline().add(inline);
	return p;

}
 
开发者ID:mjza,项目名称:MSThesis_Fidus_Docx_Converter,代码行数:32,代码来源:ImageUtil.java

示例5: newImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/**
 * Create image, without specifying width
 */
private static org.docx4j.wml.P newImage(WordprocessingMLPackage wordMLPackage,
		byte[] bytes,
		String filenameHint, String altText, 
		int id1, int id2) throws Exception {
       BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);
       Inline inline = imagePart.createImageInline( filenameHint, altText, id1, id2, false);
       // Now add the inline in w:p/w:r/w:drawing
	org.docx4j.wml.ObjectFactory factory = Context.getWmlObjectFactory();
	org.docx4j.wml.P  p = factory.createP();
	org.docx4j.wml.R  run = factory.createR();		
	p.getContent().add(run);        
	org.docx4j.wml.Drawing drawing = factory.createDrawing();		
	run.getContent().add(drawing);		
	drawing.getAnchorOrInline().add(inline);
	return p;
}
 
开发者ID:trackplus,项目名称:Genji,代码行数:20,代码来源:ImageUtil.java

示例6: newImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
public static org.docx4j.wml.P newImage( WordprocessingMLPackage wordMLPackage,
		Part sourcePart,
		byte[] bytes,
		String filenameHint, String altText, 
		int id1, int id2) throws Exception {
	
       BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, 
       		sourcePart, bytes);
	
       Inline inline = imagePart.createImageInline( filenameHint, altText, 
   			id1, id2, false);
       
       // Now add the inline in w:p/w:r/w:drawing
	org.docx4j.wml.ObjectFactory factory = Context.getWmlObjectFactory();
	org.docx4j.wml.P  p = factory.createP();
	org.docx4j.wml.R  run = factory.createR();		
	p.getContent().add(run);        
	org.docx4j.wml.Drawing drawing = factory.createDrawing();		
	run.getContent().add(drawing);		
	drawing.getAnchorOrInline().add(inline);
	
	return p;
}
 
开发者ID:asposemarketplace,项目名称:Aspose_Java_for_Docx4j,代码行数:24,代码来源:Docx4jFooterCreate.java

示例7: newImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/**
 * Create image, without specifying width
 */
public static org.docx4j.wml.P newImage( WordprocessingMLPackage wordMLPackage,
		byte[] bytes,
		String filenameHint, String altText, 
		int id1, int id2) throws Exception {
	
       BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);
	
       Inline inline = imagePart.createImageInline( filenameHint, altText, 
   			id1, id2, false);
       
       // Now add the inline in w:p/w:r/w:drawing
	org.docx4j.wml.ObjectFactory factory = Context.getWmlObjectFactory();
	org.docx4j.wml.P  p = factory.createP();
	org.docx4j.wml.R  run = factory.createR();		
	p.getContent().add(run);        
	org.docx4j.wml.Drawing drawing = factory.createDrawing();		
	run.getContent().add(drawing);		
	drawing.getAnchorOrInline().add(inline);
	
	return p;
	
}
 
开发者ID:asposemarketplace,项目名称:Aspose_Java_for_Docx4j,代码行数:26,代码来源:Docx4jImageAdd.java

示例8: inlineToDocx

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
@Override
public void inlineToDocx(WordprocessingMLPackage wordPackage, Text text, Object paramValue, Matcher paramsMatcher) {
    try {
        Image image = new Image(paramValue, paramsMatcher);
        if (image.isValid()) {
            BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordPackage, resolveTextPartForDOCX(text, wordPackage),
                    image.imageContent);
            Inline inline = imagePart.createImageInline("", "", docxUniqueId1++, docxUniqueId2++, false);
            ImageSize oldSize = imagePart.getImageInfo().getSize();
            double widthExtent = (double) image.width / oldSize.getWidthPx();
            double heightExtent = (double) image.height / oldSize.getHeightPx();
            inline.getExtent().setCx((long) (inline.getExtent().getCx() * widthExtent));
            inline.getExtent().setCy((long) (inline.getExtent().getCy() * heightExtent));
            org.docx4j.wml.Drawing drawing = new org.docx4j.wml.ObjectFactory().createDrawing();
            R run = (R) text.getParent();
            run.getContent().add(drawing);
            drawing.getAnchorOrInline().add(inline);
            text.setValue("");
        }
    } catch (Exception e) {
        throw new ReportFormattingException("An error occurred while inserting bitmap to docx file", e);
    }
}
 
开发者ID:cuba-platform,项目名称:yarg,代码行数:24,代码来源:AbstractInliner.java

示例9: addImageToPackage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/** 
 *  Docx4j拥有一个由字节数组创建图片部件的工具方法, 随后将其添加到给定的包中. 为了能将图片添加 
 *  到一个段落中, 我们需要将图片转换成内联对象. 这也有一个方法, 方法需要文件名提示, 替换文本,  
 *  两个id标识符和一个是嵌入还是链接到的指示作为参数. 
 *  一个id用于文档中绘图对象不可见的属性, 另一个id用于图片本身不可见的绘制属性. 最后我们将内联 
 *  对象添加到段落中并将段落添加到包的主文档部件. 
 * 
 *  @param wordMLPackage 要添加图片的包 
 *  @param bytes         图片对应的字节数组 
 *  @throws Exception    不幸的createImageInline方法抛出一个异常(没有更多具体的异常类型) 
 */  
public void addImageToPackage(byte[] bytes) throws Exception {  
    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wmlPackage, bytes);  
   
    int docPrId = 1;  
    int cNvPrId = 2;  
    Inline inline = imagePart.createImageInline("Filename hint", "Alternative text", docPrId, cNvPrId, false);  
   
    P paragraph = WmlElementUtils.addInlineImageToParagraph(inline);  
   
    wmlPackage.getMainDocumentPart().addObject(paragraph);  
}
 
开发者ID:vindell,项目名称:docx4j-template,代码行数:23,代码来源:WordprocessingMLPackageRender.java

示例10: addImageToPara

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/**
 * @Description: 添加图片到段落
 */
public void addImageToPara(WordprocessingMLPackage wordMLPackage,
        ObjectFactory factory, P paragraph, String filePath,
        String content, RPr rpr, String altText, int id1, int id2)
        throws Exception {
    R run = factory.createR();
    if (content != null) {
        Text text = factory.createText();
        text.setValue(content);
        text.setSpace("preserve");
        run.setRPr(rpr);
        run.getContent().add(text);
    }

    InputStream is = new FileInputStream(filePath);
    byte[] bytes = IOUtils.toByteArray(is);
    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage
            .createImagePart(wordMLPackage, bytes);
    Inline inline = imagePart.createImageInline(filePath, altText, id1,
            id2, false);
    Drawing drawing = factory.createDrawing();
    drawing.getAnchorOrInline().add(inline);
    run.getContent().add(drawing);
    paragraph.getContent().add(run);
}
 
开发者ID:vindell,项目名称:docx4j-template,代码行数:28,代码来源:Docx4j_工具类_S3_Test.java

示例11: addImageToPackage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/**
 *  Docx4j拥有一个由字节数组创建图片部件的工具方法, 随后将其添加到给定的包中. 为了能将图片添加
 *  到一个段落中, 我们需要将图片转换成内联对象. 这也有一个方法, 方法需要文件名提示, 替换文本, 
 *  两个id标识符和一个是嵌入还是链接到的指示作为参数.
 *  一个id用于文档中绘图对象不可见的属性, 另一个id用于图片本身不可见的绘制属性. 最后我们将内联
 *  对象添加到段落中并将段落添加到包的主文档部件.
 *
 *  @param wordMLPackage 要添加图片的包
 *  @param bytes         图片对应的字节数组
 *  @throws Exception    不幸的createImageInline方法抛出一个异常(没有更多具体的异常类型)
 */
private static void addImageToPackage(WordprocessingMLPackage wordMLPackage,
                        byte[] bytes) throws Exception {
    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);
 
    int docPrId = 1;
    int cNvPrId = 2;
    Inline inline = imagePart.createImageInline("Filename hint","Alternative text", docPrId, cNvPrId, false);
 
    P paragraph = addInlineImageToParagraph(inline);
 
    wordMLPackage.getMainDocumentPart().addObject(paragraph);
}
 
开发者ID:vindell,项目名称:docx4j-template,代码行数:24,代码来源:AddingAnInlineImage.java

示例12: createInlineImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/**
 * 使用给定的文件创建一个内联图片.
 * 跟前面例子中一样, 我们将文件转换成字节数组, 并用它创建一个内联图片.
 *
 * @param file
 * @return
 * @throws Exception
 */
private static Inline createInlineImage(File file) throws Exception {
    byte[] bytes = convertImageToByteArray(file);
 
    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);
 
    int docPrId = 1;
    int cNvPrId = 2;
 
    return imagePart.createImageInline("Filename hint", "Alternative text", docPrId, cNvPrId, false);
}
 
开发者ID:vindell,项目名称:docx4j-template,代码行数:19,代码来源:AddingAnInlineImageToTable.java

示例13: createRunWithImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
public static R createRunWithImage(WordprocessingMLPackage wordMLPackage, byte[] bytes, String filenameHint, String altText, Integer maxWidth) throws Exception {
    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);

    // creating random ids assuming they are unique
    // id must not be too large, otherwise Word cannot open the document
    int id1 = random.nextInt(100000);
    int id2 = random.nextInt(100000);
    if (filenameHint == null) {
        filenameHint = "dummyFileName";
    }
    if (altText == null) {
        altText = "dummyAltText";
    }

    Inline inline;
    if (maxWidth == null) {
        inline = imagePart.createImageInline(filenameHint, altText,
                id1, id2, false);
    } else {
        inline = imagePart.createImageInline(filenameHint, altText,
                id1, id2, false, maxWidth);
    }

    // Now add the inline in w:p/w:r/w:drawing
    org.docx4j.wml.ObjectFactory factory = new org.docx4j.wml.ObjectFactory();
    org.docx4j.wml.R run = factory.createR();
    org.docx4j.wml.Drawing drawing = factory.createDrawing();
    run.getContent().add(drawing);
    drawing.getAnchorOrInline().add(inline);

    return run;

}
 
开发者ID:thombergs,项目名称:docx-stamper,代码行数:34,代码来源:ImageResolver.java

示例14: newImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
public P newImage(WordprocessingMLPackage wordMLPackage, byte[] bytes, String filenameHint, String altText, int id1, int id2, long cx) throws Exception {
	BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);
	Inline inline = imagePart.createImageInline(filenameHint, altText, id1, id2, cx, false);
	// Now add the inline in w:p/w:r/w:drawing
	ObjectFactory factory = Context.getWmlObjectFactory();
	P p = createParagraph();	
	R run = factory.createR();
	p.getContent().add(run);
	Drawing drawing = factory.createDrawing();
	run.getContent().add(drawing);
	drawing.getAnchorOrInline().add(inline);
	return p;
}
 
开发者ID:nextreports,项目名称:nextreports-engine,代码行数:14,代码来源:DocxExporter.java

示例15: replaceBookMarkWithImage

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
/**
 * 替换书签为图片
 *
 * @param wordMLPackage
 * @param documentPart
 * @param imageParameters
 * @throws Exception
 */
private static void replaceBookMarkWithImage(WordprocessingMLPackage wordMLPackage,
                                             MainDocumentPart documentPart,
                                             Map<String, String> imageParameters)
        throws Exception {
    Document wmlDoc = documentPart.getContents();
    Body body = wmlDoc.getBody();
    // 提取正文中所有段落
    List<Object> paragraphs = body.getContent();
    // 提取书签并创建书签的游标
    RangeFinder rt = new RangeFinder("CTBookmark", "CTMarkupRange");
    new TraversalUtil(paragraphs, rt);

    // 遍历书签
    for (CTBookmark bm : rt.getStarts()) {
        String bookmarkName = bm.getName();
        String imagePath = imageParameters.get(bookmarkName);
        if (imagePath != null) {
            File imageFile = new File(imagePath);
            InputStream imageStream = new FileInputStream(imageFile);
            // 读入图片并转化为字节数组,因为docx4j只能字节数组的方式插入图片
            byte[] bytes = IOUtils.toByteArray(imageStream);
            // 创建一个行内图片
            BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);
            // createImageInline函数的前四个参数我都没有找到具体啥意思
            // 最后一个是限制图片的宽度,缩放的依据
            Inline inline = imagePart.createImageInline(null, null, 0, 1, false, 800);
            // 获取该书签的父级段落
            P p = (P) (bm.getParent());
            ObjectFactory factory = new ObjectFactory();
            // 新建一个Run
            R run = factory.createR();
            // drawing 画布
            Drawing drawing = factory.createDrawing();
            drawing.getAnchorOrInline()
                    .add(inline);
            run.getContent()
                    .add(drawing);
            p.getContent()
                    .add(run);
        }
    }
}
 
开发者ID:izhangzhihao,项目名称:OfficeProducer,代码行数:51,代码来源:DocxProducer.java


注:本文中的org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage.createImageInline方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。