/// <summary> /// 替换书签内容 /// </summary> /// <param name="bookmarkName">书签名</param> /// <param name="value">替换内容</param> public void ReplaceBookMark(string bookmarkName, string value, string type = "", double width = 320, double height = 320) { var bm = doc.Range.Bookmarks[bookmarkName]; if (bm == null) { return; } try { if (type == "IMG") { bm.Text = ""; builder.MoveToBookmark(bookmarkName); var img = builder.InsertImage(@value, width, height); // width 350像素, height 350像素 //Console.WriteLine(bookmarkName+"替换图片成功!"); doc.UpdateFields(); //更新域 } else { bm.Text = ""; builder.MoveToBookmark(bookmarkName); //bm.Text = value;//会把文字格式情况 builder.Write(value); //修改书签内容的第二种方法,不会更改文字字体等属性 //Console.WriteLine(bookmarkName+"替换书签内容成功!"); } } catch (Exception e) { Console.WriteLine("错误:" + e.Message); } }
/// <summary> /// 带签章的pdf保存 /// </summary> /// <param name="fileTemp">doc模板</param> /// <param name="signatureImag">签章图片</param> /// <param name="outFilePath">输出路径</param> public void SavAsPdf(string fileTemp, string signatureImag, string outFilePath) { oDoc = new Document(fileTemp); Bookmark bKGetDate = oDoc.Range.Bookmarks["GetDate"]; if (bKGetDate != null) { oDoc.Range.Bookmarks["GetDate"].Text = DateTime.Now.ToString("yyyy年MM月dd日"); } Bookmark bKsignatureImage = oDoc.Range.Bookmarks["signatureImage"]; if (bKsignatureImage != null) { Aspose.Words.DocumentBuilder dbuilder = new Aspose.Words.DocumentBuilder(oDoc); dbuilder.MoveToBookmark("signatureImage"); dbuilder.InsertImage(signatureImag, Aspose.Words.Drawing.RelativeHorizontalPosition.Character, -130, Aspose.Words.Drawing.RelativeVerticalPosition.BottomMargin, 0, 120, 120, Aspose.Words.Drawing.WrapType.None); } int pageCount = oDoc.PageCount; if (pageCount > 1 && bKsignatureImage != null) { SealPath = signatureImag; AddPageSeal(outFilePath, pageCount); } else//直接生成pdf { oDoc.Save(outFilePath, SaveFormat.Pdf); } }
public void InsertPicture(string bookmark, string picturePath, float width, float height) { if (this.doc.Range.Bookmarks[bookmark] != null) { builder.MoveToBookmark(bookmark); /*var img = */ builder.InsertImage(picturePath, RelativeHorizontalPosition.Margin, 0, RelativeVerticalPosition.Margin, 0, 155, 155, WrapType.Square); //img.Width = width; //img.Height = height; //img.HorizontalAlignment = Aspose.Words.Drawing.HorizontalAlignment.Center; } }
protected Stream GetPreviewImagesWordStream(Content content, IEnumerable <SNCR.Image> previewImages, RestrictionType?restrictionType = null) { CheckLicense(LicenseProvider.Words); try { var ms = new MemoryStream(); var document = new AsposeWords.Document(); var builder = new AsposeWords.DocumentBuilder(document); var index = 1; var saveFormat = content.Name.ToLower().EndsWith(".docx") ? AsposeWords.SaveFormat.Docx : AsposeWords.SaveFormat.Doc; var pageAttributes = GetPageAttributes(content); var imageOptions = new PreviewImageOptions() { RestrictionType = restrictionType }; foreach (var previewImage in previewImages.Where(previewImage => previewImage != null)) { // use the stored rotation value for this page if exists int?rotation = pageAttributes.ContainsKey(previewImage.Index) ? pageAttributes[previewImage.Index].degree : null; imageOptions.Rotation = rotation; using (var imgStream = GetRestrictedImage(previewImage, imageOptions)) { int newWidth; int newHeight; // Compute dimensions using a SQUARE (max width and height are equal). ComputeResizedDimensionsWithRotation(previewImage, PREVIEW_WORD_HEIGHT, rotation, out newWidth, out newHeight); try { // skip to the next page if (index > 1) { builder.Writeln(""); } // If the final image is landscape, we need to rotate the page // to fit the image. It does not matter if the original image // was landscape or the rotation made it that way. // Switch orientation only if needed. if (newWidth > newHeight) { if (builder.PageSetup.Orientation != AsposeWords.Orientation.Landscape) { if (index > 1) { builder.InsertBreak(AsposeWords.BreakType.SectionBreakContinuous); } builder.PageSetup.Orientation = AsposeWords.Orientation.Landscape; } } else { if (builder.PageSetup.Orientation != AsposeWords.Orientation.Portrait) { if (index > 1) { builder.InsertBreak(AsposeWords.BreakType.SectionBreakContinuous); } builder.PageSetup.Orientation = AsposeWords.Orientation.Portrait; } } builder.InsertImage(imgStream, RelativeHorizontalPosition.LeftMargin, -5, RelativeVerticalPosition.TopMargin, -50, newWidth, newHeight, WrapType.Square); } catch (IndexOutOfRangeException ex) { SnLog.WriteException(ex, "Error during document generation. Path: " + previewImage.Path); break; } } index++; } document.Save(ms, saveFormat); ms.Seek(0, SeekOrigin.Begin); return(ms); } catch (Exception ex) { SnLog.WriteException(ex); } return(null); }
public void ExpWD12(System.Data.DataTable dt) { #region //图片插入 builder = new Aspose.Words.DocumentBuilder(doc); Shape shape = new Shape(doc, ShapeType.Image); shape.ImageData.SetImage("D:\\sw\\2010\\[Beautyleg]2010.06.18 No.414 Avy[73P]\\60.jpg"); shape.Width = 850; shape.Height = 290; shape.HorizontalAlignment = HorizontalAlignment.Center; //靠右对齐 if (doc.Range.Bookmarks["Z_IMG_24"] != null) { builder.MoveToBookmark("Z_IMG_24"); // builder.InsertImage("D:\\sw\\2010\\[Beautyleg]2010.06.18 No.414 Avy[73P]\\60.jpg", 550, 250); builder.InsertImage(dt.Rows[0][2].ToString(), 450, 200); // doc.Range.Bookmarks["Z_IMG_24"].Text = ""; } if (doc.Range.Bookmarks["Z_IMG_41"] != null) { builder.MoveToBookmark("Z_IMG_41"); // builder.InsertNode(shape); // builder.InsertImage("D:\\sw\\2010\\[Beautyleg]2010.06.18 No.414 Avy[73P]\\60.jpg",550,250); builder.InsertImage(dt.Rows[1][2].ToString(), 450, 200); // doc.Range.Bookmarks["Z_IMG_41"].Text = ""; } #endregion }
private void process() { word.Document doc = new word.Document(this.ucFilesAndButtons1.TxbTemplateFileName.Text); //foreach (word.Drawing.Shape shp in doc.GetChildNodes(word.NodeType.Shape, true)) //{ // // iterate through each Paragraph node of Shape // foreach (word.Paragraph para in shp.GetChildNodes(word.NodeType.Paragraph, true)) // { // //Get text of Paragraph // String txt = para.ToString(word.SaveFormat.Text); // word.Style style = para.ParagraphFormat.Style; // String StyleName = style.Name; // } //} //foreach (word.Drawing.Shape shp in doc.GetChildNodes(word.NodeType.Shape, true)) //{ // // iterate through each Run node of Shape // foreach (word.Run run in shp.GetChildNodes(word.NodeType.Run, true)) // { // //Get text of Run // String txt = run.Text; // //Get font name // String fontname = run.Font.Name; // //Get font size // double size = run.Font.Size; // } //} foreach (word.Drawing.Shape shp in doc.GetChildNodes(word.NodeType.Shape, true)) { //word.Run run2 = shp.GetChildNodes(word.NodeType.Run, true).Cast<word.Run>().SingleOrDefault(pp => pp.Text == "二维码"); //MessageBox.Show(run2.Text); // iterate through each Run node of Shape foreach (word.Run run in shp.GetChildNodes(word.NodeType.Run, true)) { //String txt = run.Text; //String fontname = run.Font.Name; //double size = run.Font.Size; if (run.Text == "二维码") { run.Text = ""; shp.StrokeColor = Color.Transparent; word.DocumentBuilder builder = new word.DocumentBuilder(doc); builder.InsertImage(this.ucFilesAndButtons1.TxbImageFilePath.Text, word.Drawing.RelativeHorizontalPosition.Margin, shp.Left, word.Drawing.RelativeVerticalPosition.Margin, shp.Top, shp.Width, shp.Height, word.Drawing.WrapType.Square); break; } } } doc.Save(this.ucFilesAndButtons1.TxbPdf.Text); MessageBox.Show("ok"); }