/// <summary> /// 添加一个文本段落 /// </summary> /// <param name="content">内容</param> /// <returns></returns> public void AddTextParagraph(string content) { XWPFParagraph paragraph = document.CreateParagraph(); // 创建段落对象 SetText(content, paragraph); document.SetParagraph(paragraph, posParagraph); posParagraph++; }
static XWPFHyperlinkRun CreateHyperlinkRun(XWPFParagraph paragraph, String uri) { String rId = paragraph.Document.GetPackagePart().AddExternalRelationship( uri, XWPFRelation.HYPERLINK.Relation ).Id; return(paragraph.CreateHyperlinkRun(rId)); }
private void AddCell(XWPFTableCell cell, string text) { XWPFParagraph paragraph = cell.AddParagraph(); XWPFRun run = paragraph.CreateRun(); run.SetText(text); run.FontFamily = "Times New Roman"; run.FontSize = 12; }
public void TestTika792() { //This test forces the loading of CTMoveBookmark and //CTMoveBookmarkImpl into ooxml-lite. XWPFDocument doc = XWPFTestDataSamples.OpenSampleDocument("Tika-792.docx"); XWPFParagraph paragraph = doc.Paragraphs[(0)]; Assert.AreEqual("s", paragraph.Text); }
private static void DoAddTable(XWPFDocument doc, XWPFTableCell cell, XWPFParagraph paragraph, AddTableOptions TableOptions) { string runText; XWPFRun newRun; IList <XWPFRun> listRun = paragraph.Runs; if (TableOptions != null && TableOptions.dataTable != null && TableOptions.dataTable.Rows.Count > 0) { var nCls = TableOptions.dataTable.Columns.Count; var nRows = TableOptions.dataTable.Rows.Count; for (int i = 0; i < listRun.Count; i++) { XWPFRun run = listRun[i]; runText = run.Text; if (run.Text == TableOptions.PlaceHolder.ToString()) { paragraph.RemoveRun(i); //newRun = paragraph.InsertNewRun(i); //CT_Tbl cT_Tbl = doc.Document.body.AddNewTbl(); //XWPFTable tb = new XWPFTable(cT_Tbl, cell, nRows + 2, nCls); var tb = doc.CreateTable(nRows + 2, nCls); int j = 0; //tb. foreach (DataColumn c in TableOptions.dataTable.Columns) { //var tbw=tb.GetRow(0).GetCell(j).GetCTTc(); //CT_TcPr ctPr = tbw.AddNewTcPr(); //添加TcPr //ctPr.tcW = new CT_TblWidth(); //ctPr.tcW.w = "200";//单元格宽 //ctPr.tcW.type = ST_TblWidth.dxa; tb.GetRow(0).GetCell(j).SetColor("#AEAAAA"); XWPFParagraph pIO = tb.GetRow(0).GetCell(j).AddParagraph(); XWPFRun rIO = pIO.CreateRun(); rIO.FontFamily = "宋体"; rIO.FontSize = 11; rIO.IsBold = true; //rIO.SetColor("#AEAAAA"); rIO.SetText(c.ColumnName); //tb.GetRow(0).GetCell(j).SetColor("#AEAAAA"); //tb.GetRow(0).GetCell(j).SetText(c.ColumnName); j++; } j = 0; for (int n = 0; n < nRows; n++) { var dr = TableOptions.dataTable.Rows[n]; for (int m = 0; m < nCls; m++) { tb.GetRow(n + 1).GetCell(m).SetText(dr[m].ToString()); } } } } } }
private static void GetParagrapHText(XWPFParagraph p, List <string> list) { IList <XWPFRun> runs = p.Runs; foreach (XWPFRun run in runs) { list.Add(run.GetText(0)); } }
/// <summary> /// word行处理为P标签 /// </summary> /// <param name="paragraph"></param> /// <returns></returns> public StringBuilder TagPHandle(XWPFParagraph paragraph) { var sb = new StringBuilder(); sb.Append("<p style='"); try { //左右对齐 var fontAlignment = paragraph.FontAlignment; string fontAlignmentName; switch (fontAlignment) { case 0: fontAlignmentName = "auto"; break; case 1: fontAlignmentName = "left"; break; case 2: fontAlignmentName = "center"; break; case 3: fontAlignmentName = "right"; break; default: fontAlignmentName = "auto"; break; } //自动和左对齐不需样式 if (fontAlignment > 1) { sb.Append($"text-align:{fontAlignmentName};"); } var em = paragraph.IndentationFirstLine / 240; if (em > 0) { sb.Append($"text-indent:{em}em;"); } } catch (Exception) { // ignored } sb.Append("'>"); return(sb); }
/// <summary> /// 添加一个文本段落 /// </summary> /// <param name="content">内容</param> /// <param name="paragraphOptions">段落对象属性选项</param> /// <param name="textOptions">文本对象属性选项</param> public void AddTextParagraph(string content, ParagraphOptions paragraphOptions, TextOptions textOptions) { XWPFParagraph paragraph = document.CreateParagraph(); // 创建段落对象 SetParagraph(paragraph, paragraphOptions); SetText(content, paragraph, textOptions); document.SetParagraph(paragraph, posParagraph); posParagraph++; }
/// <summary> /// 添加图片 /// </summary> /// <param name="dc"></param> /// <param name="path"></param> public static void AddPicture(this XWPFDocument doc, string path, AddPictureType pType) { if (path.IndexOf("http") != -1) { //byte[] bytes = ExcelUtil.getFile(path); WebRequest request = WebRequest.Create(path); WebResponse response = request.GetResponse(); Stream s = response.GetResponseStream(); byte[] data = new byte[response.ContentLength]; int length = 0; MemoryStream ms = new MemoryStream(); while ((length = s.Read(data, 0, data.Length)) > 0) { ms.Write(data, 0, length); } ms.Seek(0, SeekOrigin.Begin); //using (Stream stt = new MemoryStream(bytes)) //{ CT_P p = doc.GetNewP(); p.SetAlign(ST_Jc.center); XWPFParagraph gp = new XWPFParagraph(p, doc); XWPFRun run = gp.CreateRun(); run.AddPicture(ms, (int)PictureType.PNG, "2.png", 1000000, 1000000); ms.Close(); //stt.Close(); //} } //else if(path.IndexOf(";base64") != -1) //{ // int index = path.IndexOf(","); // path = path.Substring(index + 1); // byte[] bytes = Convert.FromBase64String(path); // using (Stream s64 = new MemoryStream(bytes)) // { // CT_P p = doc.GetNewP(); // p.SetAlign(ST_Jc.center); // XWPFParagraph gp = new XWPFParagraph(p, doc); // XWPFRun run = gp.CreateRun(); // run.AddPicture(s64, (int)PictureType.PNG, "1.png", 1000000, 1000000); // s64.Close(); // } //} //else //{ // using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read)) // { // CT_P p = doc.GetNewP(); // p.SetAlign(ST_Jc.center); // XWPFParagraph gp = new XWPFParagraph(p, doc); // XWPFRun run = gp.CreateRun(); // run.AddPicture(fs, (int)PictureType.PNG, "1.png", 1000000, 1000000); // fs.Close(); // } //} }
/* *插入空行函数 *@n 插入的行数 *@m_Docx 根文档 *@longth 空行高 */ private static void word_insert_space(int n, XWPFDocument m_Docx, int longth = 250) { for (int i = 0; i < n; i++) { XWPFParagraph gp_space = m_Docx.CreateParagraph(); //创建XWPFParagraph gp_space.SetAlignment(ParagraphAlignment.CENTER); gp_space.SetSpacingBefore(longth); gp_space.SpacingAfter = longth; } }
private XWPFParagraph _addValueRun(XWPFParagraph paragraph, string text) { var run = paragraph.CreateRun(); run.SetUnderline(UnderlinePatterns.Single); run.AddTab(); run.SetText(text); run.AddTab(); return(paragraph); }
public static XWPFRun CreateRun(this XWPFParagraph para, StyleConfig styles) { XWPFRun run = para.CreateRun(); run.IsBold = styles.isBold; run.IsItalic = styles.isItalics; run.FontSize = styles.fontSize; run.IsSmallCaps = styles.isSmallCaps; return(run); }
public string Run(int lineHight) { XWPFParagraph head = this._doc.CreateParagraph(); XWPFParagraph firstLine = this._doc.CreateParagraph(); XWPFRun firtRow = firstLine.CreateRun(); string line = string.Empty; int count = this._equations.Count; for (int i = 0; i < count + 1; i++) { if (i != 0 && i % 3 == 0 && i != count) { XWPFParagraph p1 = this._doc.CreateParagraph(); XWPFRun r1 = p1.CreateRun(); r1.SetText(line); r1.SetTextPosition(10); r1.SetFontFamily("Arial", FontCharRange.HAnsi); r1.FontSize = 12; if (lineHight > 0) { for (int k = 0; k <= lineHight; k++) { XWPFParagraph empty = this._doc.CreateParagraph(); XWPFRun emptyLine = empty.CreateRun(); emptyLine.SetText(" "); emptyLine.SetTextPosition(10); } } line = string.Empty; } if (i != count) { line = line + string.Format("{0}) ", i + 1) + this._equations[i].Print() + " "; } else { XWPFParagraph p1 = this._doc.CreateParagraph(); XWPFRun r1 = p1.CreateRun(); r1.SetText(line); r1.SetTextPosition(10); r1.SetFontFamily("Arial", FontCharRange.HAnsi); r1.FontSize = 12; } } string fileName = DateTime.Now.ToShortDateString().Replace("/", "_") + (new Random()).Next().ToString(); string fullPath = string.Format("c:\\test\\{0}.docx", fileName); FileStream out1 = new FileStream(fullPath, FileMode.Create); this._doc.Write(out1); out1.Close(); return(fullPath); //Process.Start(fullPath); }
public void SaveTopicsToWord(Student student) { string resultpath = AppSetting.path + @"\StudentResult"; if (!Directory.Exists(resultpath)) { Directory.CreateDirectory(resultpath); } XWPFDocument doc = new XWPFDocument(); { XWPFParagraph p = doc.CreateParagraph(); p.Alignment = ParagraphAlignment.CENTER; XWPFRun r = p.CreateRun(); r.SetText(SubjectEnum.ToString() + "试题"); r.IsBold = true; r.FontSize = 30; } { XWPFParagraph p1 = doc.CreateParagraph(); //向新文档中添加段落 XWPFRun r1 = p1.CreateRun(); //向该段落中添加文字 r1.SetText($"学号:{student.StudentID} 姓名:{student.Name} 机器码:{AppSetting.ComputerInfo}"); r1.IsBold = true; XWPFParagraph p2 = doc.CreateParagraph(); } { int index = 1; foreach (Topic t in Topics) { XWPFParagraph p = doc.CreateParagraph(); { XWPFRun r = p.CreateRun(); r.SetText(index + "." + t.Problem); r.IsBold = true; r.SetColor("255,0,0"); } XWPFParagraph p2 = doc.CreateParagraph(); { XWPFRun r = p2.CreateRun(); r.SetText(t.AnSwer); } XWPFParagraph p3 = doc.CreateParagraph(); index++; } } using (FileStream sw = File.Create(resultpath + GetFIleName(student) + ".docx")) { doc.Write(sw); } doc.Close(); }
//private static void ReplaceInParagraph(Dictionary<string, string> stringReplacements, // Dictionary<string,IEnumerable<Picture>> pictureReplacements // ,XWPFParagraph paragraph // ,Dictionary<string, RunCollection> runReplacements) //{ // //替换文本 // if (stringReplacements != null) // { // foreach (var item in stringReplacements) // { // var matchRun = FindPlaceholderRun(item.Key, paragraph); // if (matchRun != null) // { // matchRun.SetText(item.Value); // } // } // } // //替换图片 // if (pictureReplacements != null) // { // foreach (var item in pictureReplacements) // { // var matchRun = FindPlaceholderRun(item.Key, paragraph); // if (matchRun != null) // { // matchRun.Set(item.Value); // } // } // } // //替换run // if (runReplacements != null) // { // foreach (var item in runReplacements) // { // int pos = -1; // var matchRun = FindPlaceholderRun(item.Key, paragraph,out pos); // if (matchRun != null) // { // foreach (var run in item.Value) // { // var newRun = paragraph.InsertNewRun(pos); // newRun.Set(run); // pos++; // } // } // } // } //} private static void ReplaceInParagraph(Dictionary <string, string> stringReplacements, Dictionary <string, IEnumerable <Picture> > pictureReplacements , XWPFParagraph paragraph , Dictionary <string, RunCollection> runReplacements) { //替换文本 if (stringReplacements != null) { foreach (var item in stringReplacements) { var matchRuns = FindPlaceholderRun(item.Key, paragraph); foreach (var matchRun in matchRuns) { var text = matchRun.Run.Text.Replace(item.Key, item.Value); matchRun.Run.SetText(text); } } } //替换图片 if (pictureReplacements != null) { foreach (var item in pictureReplacements) { var matchRuns = FindPlaceholderRun(item.Key, paragraph); foreach (var matchRun in matchRuns) { int pos = matchRun.Position; var newImgRun = paragraph.InsertNewRun(pos); newImgRun.Set(item.Value); //matchRun.Set(item.Value); } } } //替换run if (runReplacements != null) { foreach (var item in runReplacements) { //int pos = -1; var matchRuns = FindPlaceholderRun(item.Key, paragraph); foreach (var matchRun in matchRuns) { int pos = matchRun.Position; matchRun.Run.SetText(String.Empty); foreach (var run in item.Value) { var newRun = paragraph.InsertNewRun(pos); newRun.Set(run); pos++; } } } } }
//插入一段文字 private static void word_insert_text(XWPFDocument m_Docx, string Font, int size, string text, ParagraphAlignment position = ParagraphAlignment.CENTER) { XWPFParagraph gp = m_Docx.CreateParagraph(); gp.SetAlignment(position); XWPFRun gr = gp.CreateRun(); gr.SetFontFamily(Font); gr.SetFontSize(size); gr.SetText(text); }
public void TestSmartTags() { XWPFDocument doc = XWPFTestDataSamples.OpenSampleDocument("smarttag-snippet.docx"); XWPFParagraph p = doc.GetParagraphArray(0); //About NPOI: because the serializer bug(the CT_Run contains whitespace will discard the whitespace), //Text is "CarnegieMellonUniversitySchool of Computer Science" Assert.IsTrue(p.GetText().Contains("Carnegie Mellon University School of Computer Science")); p = doc.GetParagraphArray(2); Assert.IsTrue(p.GetText().Contains("Alice's Adventures")); }
/// <summary> /// Appends a text run containing a single space. The run is /// space-preserved so that the space will be visible. /// </summary> /// <param name="paragraph">The parent paragraph to add the run to.</param> private void AppendSpace(XWPFParagraph paragraph) { XWPFRun run = paragraph.CreateRun(); setRTL(run); CT_R ctr = run.GetCTR(); CT_Text text = ctr.AddNewT(); text.Value = " "; text.space = "preserve"; }
/// <summary> /// 获取缩进值 /// </summary> /// <param name="pg"></param> /// <param name="indentationPoints"></param> public static int GetIndentation(this XWPFParagraph pg, int indentationPoints) { int len = 0; if (pg.Runs.Count > 0) { XWPFRun run = pg.Runs[0]; len = GetIndentation(run.FontFamily, run.FontSize * 2, indentationPoints, FontStyle.Regular); } return(len); }
private void setCell(XWPFTableCell cell, string cellText) { XWPFParagraph pIO = cell.AddParagraph(); pIO.Alignment = ParagraphAlignment.CENTER; XWPFRun rIO = pIO.CreateRun(); rIO.FontFamily = "宋体"; rIO.FontSize = 12; rIO.SetText(cellText); }
private static void CreateConverText(XWPFTableCell cell, string text, int fontSize) { cell.RemoveParagraph(0); XWPFParagraph paragraph = cell.AddParagraph(); paragraph.Alignment = ParagraphAlignment.CENTER; XWPFRun run = paragraph.CreateRun(); run.SetText(text); run.SetFontFamily("黑体", FontCharRange.None); run.FontSize = fontSize; }
/// <summary> /// Checks if paragraph is answer. /// </summary> /// <param name="paragraph">Paragraph to check</param> /// <returns>True if paragraph is answer.</returns> private bool IsAnswer(XWPFParagraph paragraph) { var color = DetermineParagraphColor(paragraph); if (!color.HasValue) { return(false); } return(color.Value.R == _answerColor.R && color.Value.G == _answerColor.G && color.Value.B == _answerColor.B); }
private void AppendParagraph(XWPFTableCell cell, String cellText) { XWPFParagraph paragraph = cell.AddParagraph(); XWPFRun run = paragraph.CreateRun(); run.FontFamily = "宋体"; //设置字体大小 run.FontSize = 11; //字体是否加粗,这里加粗了 run.SetBold(true); run.SetText(cellText); }
public DataTable Text() { XWPFDocument doc = new XWPFDocument(); XWPFParagraph xh = doc.CreateParagraph(); string sql = "select id,customItem8__c 供应商,customItem13__c 原材料名称,customItem24__c 净重,name 磅单号,customItem21__c 运费单价,customItem18__c 出库时间 from customEntity33__c limit 3000"; string result = xoqlGet(sql); JObject jo = (JObject)JsonConvert.DeserializeObject(result); return(JsonHelper.ToDataTable(jo["data"]["records"].ToString())); }
private void CheckParagraph(XWPFParagraph target, string key, string value) { for (int i = 0; i < target.Runs.Count; i++) { if (target.Runs[i].Text == "%%" && i < target.Runs.Count - 2 && target.Runs[i + 2].Text == "%%" && target.Runs[i + 1].Text == key) { target.Runs[i + 1].SetText(value); target.RemoveRun(i + 2); target.RemoveRun(i); } } }
void SetRedFontCell(XWPFTableCell cell, string value) { XWPFParagraph pIO = cell.AddParagraph(); pIO.Alignment = ParagraphAlignment.CENTER; XWPFRun rIO = pIO.CreateRun(); rIO.SetColor("red"); rIO.SetText(value); SetAlign(cell); cell.RemoveParagraph(0); }
public XWPFComment(CT_Comment comment, XWPFDocument document) { text = new StringBuilder(); id = comment.id.ToString(); author = comment.author; foreach (CT_P ctp in comment.GetPList()) { XWPFParagraph p = new XWPFParagraph(ctp, document); text.Append(p.Text); } }
public void TestOverrideList() { XWPFDocument doc = XWPFTestDataSamples.OpenSampleDocument("NumberingWOverrides.docx"); XWPFParagraph p = doc.Paragraphs[(4)]; XWPFNumbering numbering = doc.GetNumbering(); CT_Num ctNum = numbering.GetNum(p.GetNumID()).GetCTNum(); Assert.AreEqual(9, ctNum.SizeOfLvlOverrideArray()); CT_NumLvl ctNumLvl = ctNum.GetLvlOverrideArray(0); Assert.AreEqual("upperLetter", ctNumLvl.lvl.numFmt.val.ToString()); }
private static void DoAddPicture(XWPFParagraph paragraph, List <AddPictureOptions> listAddPictureOptions) { XWPFRun textRun, imgRun, placeHolderRun; IList <XWPFRun> listRun = paragraph.Runs; for (int i = 0; i < listRun.Count; i++) { placeHolderRun = paragraph.Runs[i]; for (int j = 0; j < listAddPictureOptions.Count; j++) { var addPictureOptions = listAddPictureOptions[j]; if (addPictureOptions.PlaceHolder.ToString() == placeHolderRun.Text) { if (j == 0) { paragraph.RemoveRun(i); } textRun = paragraph.CreateRun(); string newText = addPictureOptions.PictureName + Environment.NewLine; if (j > 0) { newText = Environment.NewLine + " " + newText; } //textRun.SetText(newText); textRun.SetText(string.Empty); CopyRunStyle(placeHolderRun, textRun); imgRun = paragraph.CreateRun(); if (File.Exists(addPictureOptions.LocalPictureUrl)) { using (FileStream fs = File.OpenRead(addPictureOptions.LocalPictureUrl)) { imgRun.AddPicture( fs, (int)GetPictureTypeFromUrl(addPictureOptions.LocalPictureUrl), addPictureOptions.ImageType.ToString() + Path.GetExtension(addPictureOptions.LocalPictureUrl), 5000000, 3000000); CT_Inline inline = imgRun.GetCTR().GetDrawingList()[0].inline[0]; inline.docPr.id = addPictureOptions.PicId; //id必须从1开始 } } } } } }
private void ReplaceKey(XWPFParagraph para) { string text = para.ParagraphText;//段落文本 var runs = para.Runs; string styleid = para.Style; for (int i = 0; i < runs.Count; i++) { var run = runs[i]; text = run.ToString(); runs[i].SetText(text + 2, 0); } }