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


Java BinaryPartAbstractImage.createImagePart方法代码示例

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


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

示例1: 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

示例2: 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

示例3: 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

示例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: inlineToXlsx

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
@Override
public void inlineToXlsx(SpreadsheetMLPackage pkg, WorksheetPart worksheetPart, Cell newCell, Object paramValue, Matcher matcher) {
    try {
        Image image = new Image(paramValue, matcher);
        if (image.isValid()) {
            BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(pkg, worksheetPart, image.imageContent);
            CTOneCellAnchor anchor = new CTOneCellAnchor();
            anchor.setFrom(new CTMarker());
            CellReference cellReference = new CellReference("", newCell.getR());
            anchor.getFrom().setCol(cellReference.getColumn() - 1);
            anchor.getFrom().setRow(cellReference.getRow() - 1);
            anchor.setExt(new CTPositiveSize2D());
            anchor.getExt().setCx(XlsxUtils.convertPxToEmu(image.width));
            anchor.getExt().setCy(XlsxUtils.convertPxToEmu(image.height));
            newCell.setV(null);
            putImage(worksheetPart, pkg, imagePart, anchor);
        }
    } catch (Exception e) {
        throw new ReportFormattingException("An error occurred while inserting bitmap to xlsx file", e);
    }
}
 
开发者ID:cuba-platform,项目名称:yarg,代码行数:22,代码来源:AbstractInliner.java

示例9: 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

示例10: 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

示例11: 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

示例12: 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

示例13: 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

示例14: 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

示例15: main

import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
		
		String outputfilepath = System.getProperty("user.dir") + "/data/xlsx4j/AddImage-Xlsx4j.xlsx";
		String imagefilePath  = System.getProperty("user.dir") + "/data/xlsx4j/greentick.png" ;
		
		SpreadsheetMLPackage pkg = SpreadsheetMLPackage.createPackage();
		WorksheetPart worksheet = pkg.createWorksheetPart(new PartName("/xl/worksheets/sheet1.xml"), "Sheet1", 1);

		// Create Drawing part and add to sheet 
		Drawing drawingPart = new Drawing();
		Relationship drawingRel = worksheet.addTargetPart(drawingPart);

		// Add anchor XML to worksheet
		org.xlsx4j.sml.CTDrawing drawing = org.xlsx4j.jaxb.Context.getsmlObjectFactory().createCTDrawing(); 
		    worksheet.getJaxbElement().setDrawing(drawing); 
		        drawing.setId( drawingRel.getId() ); 		
		
		// Create image part and add to Drawing part
        BinaryPartAbstractImage imagePart 
        	= BinaryPartAbstractImage.createImagePart(pkg, drawingPart, 
        			FileUtils.readFileToByteArray(new File(imagefilePath) ));
        String imageRelID = imagePart.getSourceRelationship().getId();
		
		// Create and set drawing part content
        // Take your pick ..
        // .. build it using code
//        drawingPart.setJaxbElement(
//        		buildDrawingPartContentUsingCode(imageRelID));
        // .. or build it from an XML string
        drawingPart.setJaxbElement(
        		buildDrawingPartContentFromXmlString(imageRelID));
		
		
        // Save the xlsx
		SaveToZipFile saver = new SaveToZipFile(pkg);
		saver.save(outputfilepath);
		System.out.println("\n\n done .. " + outputfilepath);	
	}
 
开发者ID:asposemarketplace,项目名称:Aspose_Java_for_Docx4j,代码行数:39,代码来源:AddImageXlsx4j.java


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