Search in sources :

Example 6 with RFonts

use of org.docx4j.wml.RFonts in project docx4j-template by vindell.

the class ChangingTheStyleSheet method changeFontToArial.

/**
 *  Change the font of the given run properties to Arial.
 *
 *  A run font specifies the fonts which shall be used to display the contents
 *  of the run. Of the four possible types of content, we change the styling of
 *  two of them: ASCII and High ANSI.
 *  Finally we add the run font to the run properties.
 *
 *  @param runProperties
 */
private static void changeFontToArial(RPr runProperties) {
    RFonts runFont = new RFonts();
    runFont.setAscii("Arial");
    runFont.setHAnsi("Arial");
    runProperties.setRFonts(runFont);
}
Also used : RFonts(org.docx4j.wml.RFonts)

Example 7 with RFonts

use of org.docx4j.wml.RFonts in project Java-Tutorial by gpcodervn.

the class ConvertInXHTMLFile method main.

public static void main(String[] args) throws Exception {
    String inputfilepath = System.getProperty("user.dir") + "/somedir/some.html";
    // String baseURL = "file:///C:/Users/jharrop/git/docx4j-ImportXHTML/somedir/";
    String baseURL = "file:///C:/Users/jharrop/git/docx4j-ImportXHTML/";
    String stringFromFile = FileUtils.readFileToString(new File(inputfilepath), "UTF-8");
    String unescaped = stringFromFile;
    // if (stringFromFile.contains("</") ) {
    // unescaped = StringEscapeUtils.unescapeHtml(stringFromFile);
    // }
    // XHTMLImporter.setTableFormatting(FormattingOption.IGNORE_CLASS);
    // XHTMLImporter.setParagraphFormatting(FormattingOption.IGNORE_CLASS);
    System.out.println("Unescaped: " + unescaped);
    // Setup font mapping
    RFonts rfonts = Context.getWmlObjectFactory().createRFonts();
    rfonts.setAscii("Century Gothic");
    XHTMLImporterImpl.addFontMapping("Century Gothic", rfonts);
    // Create an empty docx package
    // WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
    WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File(System.getProperty("user.dir") + "/styled.docx"));
    NumberingDefinitionsPart ndp = new NumberingDefinitionsPart();
    wordMLPackage.getMainDocumentPart().addTargetPart(ndp);
    ndp.unmarshalDefaultNumbering();
    // Convert the XHTML, and add it into the empty docx we made
    XHTMLImporterImpl XHTMLImporter = new XHTMLImporterImpl(wordMLPackage);
    XHTMLImporter.setHyperlinkStyle("Hyperlink");
    wordMLPackage.getMainDocumentPart().getContent().addAll(XHTMLImporter.convert(unescaped, baseURL));
    System.out.println(XmlUtils.marshaltoString(wordMLPackage.getMainDocumentPart().getJaxbElement(), true, true));
    // System.out.println(
    // XmlUtils.marshaltoString(wordMLPackage.getMainDocumentPart().getNumberingDefinitionsPart().getJaxbElement(), true, true));
    wordMLPackage.save(new java.io.File(System.getProperty("user.dir") + "/OUT_from_XHTML.docx"));
}
Also used : XHTMLImporterImpl(org.docx4j.convert.in.xhtml.XHTMLImporterImpl) NumberingDefinitionsPart(org.docx4j.openpackaging.parts.WordprocessingML.NumberingDefinitionsPart) RFonts(org.docx4j.wml.RFonts) WordprocessingMLPackage(org.docx4j.openpackaging.packages.WordprocessingMLPackage) File(java.io.File) File(java.io.File)

Example 8 with RFonts

use of org.docx4j.wml.RFonts in project docx4j-template by vindell.

the class Docx4J_例子2 method createHyperlink.

public void createHyperlink(WordprocessingMLPackage wordMLPackage, MainDocumentPart t, ObjectFactory factory, P paragraph, String url, String value, String fontName, String fontSize, JcEnumeration jcEnumeration) throws Exception {
    org.docx4j.relationships.ObjectFactory reFactory = new org.docx4j.relationships.ObjectFactory();
    org.docx4j.relationships.Relationship rel = reFactory.createRelationship();
    rel.setType(Namespaces.HYPERLINK);
    rel.setTarget(url);
    rel.setTargetMode("External");
    t.getRelationshipsPart().addRelationship(rel);
    StringBuffer sb = new StringBuffer();
    // addRelationship sets the rel's @Id
    sb.append("<w:hyperlink r:id=\"");
    sb.append(rel.getId());
    sb.append("\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" ");
    sb.append("xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" >");
    sb.append("<w:r><w:rPr><w:rStyle w:val=\"Hyperlink\" />");
    sb.append("<w:rFonts  w:ascii=\"");
    sb.append(fontName);
    sb.append("\"  w:hAnsi=\"");
    sb.append(fontName);
    sb.append("\"  w:eastAsia=\"");
    sb.append(fontName);
    sb.append("\" w:hint=\"eastAsia\"/>");
    sb.append("<w:sz w:val=\"");
    sb.append(fontSize);
    sb.append("\"/><w:szCs w:val=\"");
    sb.append(fontSize);
    sb.append("\"/></w:rPr><w:t>");
    sb.append(value);
    sb.append("</w:t></w:r></w:hyperlink>");
    Hyperlink link = (Hyperlink) XmlUtils.unmarshalString(sb.toString());
    paragraph.getContent().add(link);
    setParagraphSpacing(factory, paragraph, jcEnumeration, true, "0", "0", null, null, true, "240", STLineSpacingRule.AUTO);
    PPr ppr = paragraph.getPPr();
    if (ppr == null) {
        ppr = factory.createPPr();
    }
    RFonts fonts = new RFonts();
    fonts.setAscii("微软雅黑");
    fonts.setHAnsi("微软雅黑");
    fonts.setEastAsia("微软雅黑");
    fonts.setHint(STHint.EAST_ASIA);
    ParaRPr rpr = new ParaRPr();
    rpr.setRFonts(fonts);
    ppr.setRPr(rpr);
    paragraph.setPPr(ppr);
}
Also used : PPr(org.docx4j.wml.PPr) ObjectFactory(org.docx4j.wml.ObjectFactory) Relationship(org.docx4j.relationships.Relationship) ParaRPr(org.docx4j.wml.ParaRPr) RFonts(org.docx4j.wml.RFonts) Hyperlink(org.docx4j.wml.P.Hyperlink)

Example 9 with RFonts

use of org.docx4j.wml.RFonts in project docx4j-template by vindell.

the class Docx4J_简单例子 method getRPr.

/**
 * 创建字体
 *
 * @param isBlod
 *            粗体
 * @param isUnderLine
 *            下划线
 * @param isItalic
 *            斜体
 * @param isStrike
 *            删除线
 */
public RPr getRPr(ObjectFactory factory, String fontFamily, String colorVal, String fontSize, STHint sTHint, boolean isBlod, boolean isUnderLine, boolean isItalic, boolean isStrike) {
    RPr rPr = factory.createRPr();
    RFonts rf = new RFonts();
    rf.setHint(sTHint);
    rf.setAscii(fontFamily);
    rf.setHAnsi(fontFamily);
    rPr.setRFonts(rf);
    BooleanDefaultTrue bdt = factory.createBooleanDefaultTrue();
    rPr.setBCs(bdt);
    if (isBlod) {
        rPr.setB(bdt);
    }
    if (isItalic) {
        rPr.setI(bdt);
    }
    if (isStrike) {
        rPr.setStrike(bdt);
    }
    if (isUnderLine) {
        U underline = new U();
        underline.setVal(UnderlineEnumeration.SINGLE);
        rPr.setU(underline);
    }
    Color color = new Color();
    color.setVal(colorVal);
    rPr.setColor(color);
    HpsMeasure sz = new HpsMeasure();
    sz.setVal(new BigInteger(fontSize));
    rPr.setSz(sz);
    rPr.setSzCs(sz);
    return rPr;
}
Also used : RPr(org.docx4j.wml.RPr) U(org.docx4j.wml.U) HpsMeasure(org.docx4j.wml.HpsMeasure) Color(org.docx4j.wml.Color) RFonts(org.docx4j.wml.RFonts) BigInteger(java.math.BigInteger) BooleanDefaultTrue(org.docx4j.wml.BooleanDefaultTrue)

Example 10 with RFonts

use of org.docx4j.wml.RFonts in project docx4j-template by vindell.

the class Docx4J_简单例子2 method getRPr.

/**
 * 创建字体
 *
 * @param isBlod
 *            粗体
 * @param isUnderLine
 *            下划线
 * @param isItalic
 *            斜体
 * @param isStrike
 *            删除线
 */
public RPr getRPr(ObjectFactory factory, String fontFamily, String colorVal, String fontSize, STHint sTHint, boolean isBlod, boolean isUnderLine, boolean isItalic, boolean isStrike) {
    RPr rPr = factory.createRPr();
    RFonts rf = new RFonts();
    rf.setHint(sTHint);
    rf.setAscii(fontFamily);
    rf.setHAnsi(fontFamily);
    rPr.setRFonts(rf);
    BooleanDefaultTrue bdt = factory.createBooleanDefaultTrue();
    rPr.setBCs(bdt);
    if (isBlod) {
        rPr.setB(bdt);
    }
    if (isItalic) {
        rPr.setI(bdt);
    }
    if (isStrike) {
        rPr.setStrike(bdt);
    }
    if (isUnderLine) {
        U underline = new U();
        underline.setVal(UnderlineEnumeration.SINGLE);
        rPr.setU(underline);
    }
    Color color = new Color();
    color.setVal(colorVal);
    rPr.setColor(color);
    HpsMeasure sz = new HpsMeasure();
    sz.setVal(new BigInteger(fontSize));
    rPr.setSz(sz);
    rPr.setSzCs(sz);
    return rPr;
}
Also used : RPr(org.docx4j.wml.RPr) U(org.docx4j.wml.U) HpsMeasure(org.docx4j.wml.HpsMeasure) Color(org.docx4j.wml.Color) RFonts(org.docx4j.wml.RFonts) BigInteger(java.math.BigInteger) BooleanDefaultTrue(org.docx4j.wml.BooleanDefaultTrue)

Aggregations

RFonts (org.docx4j.wml.RFonts)13 RPr (org.docx4j.wml.RPr)6 BigInteger (java.math.BigInteger)4 BooleanDefaultTrue (org.docx4j.wml.BooleanDefaultTrue)4 Color (org.docx4j.wml.Color)4 HpsMeasure (org.docx4j.wml.HpsMeasure)4 U (org.docx4j.wml.U)4 PPr (org.docx4j.wml.PPr)2 ParaRPr (org.docx4j.wml.ParaRPr)2 File (java.io.File)1 URL (java.net.URL)1 XHTMLImporterImpl (org.docx4j.convert.in.xhtml.XHTMLImporterImpl)1 IdentityPlusMapper (org.docx4j.fonts.IdentityPlusMapper)1 Mapper (org.docx4j.fonts.Mapper)1 PhysicalFont (org.docx4j.fonts.PhysicalFont)1 WordprocessingMLPackage (org.docx4j.openpackaging.packages.WordprocessingMLPackage)1 NumberingDefinitionsPart (org.docx4j.openpackaging.parts.WordprocessingML.NumberingDefinitionsPart)1 Relationship (org.docx4j.relationships.Relationship)1 CTLongHexNumber (org.docx4j.wml.CTLongHexNumber)1 CTShd (org.docx4j.wml.CTShd)1