精华内容
下载资源
问答
  • 本文主要介绍一个多个Word或者多张图片转为同一个PDF的方法。希望对大家有所帮助。 此种实现方式需要下载个第三方DLL Aspose ,iTextSharp。 可到个人网盘下载Aspose DLL下载。 本文通过一个简单的Winform程序,给...

    Word转PDF网上有很多实现方式。本文主要介绍一个多个Word或者多张图片转为同一个PDF的方法。希望对大家有所帮助。

    此种实现方式需要下载个第三方DLL Aspose ,iTextSharp。 可到个人网盘下载Aspose DLL下载

    本文通过一个简单的Winform程序,给大家演示下如何使用该类库,以及如何生成PDF。


    1.图片转PDF,首先选择图片导入到程序列表中:

            #region 选择图片
            private void btnSelectPics_Click(object sender, EventArgs e)
            {
                string[] imagesPath;//图片路径数据
    
                //打开文件
                OpenFileDialog ofd = new OpenFileDialog();
                //ofd.InitialDirectory = "C:";//默认初始目录
                ofd.Filter = "图片 (*.jpg,*.jpeg,*.bmp)|*.jpg;*.jpeg;*.bmp";
                ofd.Multiselect = true;//可以多选文件
                ofd.RestoreDirectory = false;//不还原当前目录,方便下次继续从相同地方添加图片
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    imagesPath = ofd.FileNames;
                    if (imagesPath != null && imagesPath.Length < 1)
                        return;
    
                    //将图片加入图片列表
                    lbPicAdd(imagesPath);
                }
            }
    
            /// <summary> 将图片加入图片列表 </summary>
            private void lbPicAdd(string[] strAdd)
            {
                if (strAdd.Length < 1) return;
    
                for (int i = 0; i < strAdd.Length; i++)
                {
                    lbPic.Items.Add(strAdd[i]);
                }
            }
            #endregion

    将图片列表转换为PDF:

            #region 转换PDF
            private void btnTurn_Click(object sender, EventArgs e)
            {
                //保存PDF的路径
                string savePath = string.Empty;
                //保存文件
                SaveFileDialog sfd = new SaveFileDialog();
                //sfd.InitialDirectory = "C:";//默认初始目录
                sfd.Filter = "PDF文件 (*.pdf)|*.pdf";
                sfd.RestoreDirectory = false;//记住保存目录
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    savePath = sfd.FileName;
                }
                if (string.IsNullOrEmpty(savePath)) return;
    
                //图片转换PDF
                try
                {
                    Cursor = Cursors.WaitCursor;
                    string[] jpgs = GetPicsPath();//获取列表中已排序的路径数组
                    if (jpgs == null || jpgs.Length < 1) { Cursor = Cursors.Default; return; }
                    ImagesToPDF.ConvertJPG2PDF(jpgs, savePath);
                    MessageBox.Show("转换完成!", "提示信息");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("程序出错!错误信息:\r\n" + ex.Message, "提示信息");
                }
                finally
                {
                    Cursor = Cursors.Default;
                }
            }
    
            private string[] GetPicsPath()
            {
                string[] pics = new string[lbPic.Items.Count];
                for (int i = 0; i < pics.Length; i++)
                {
                    pics[i] = lbPic.GetItemText(lbPic.Items[i]);
                }
                return pics;
            }
            #endregion

     图片上移、下移、移除代码:

            private void moveUp(ListBox lb)
            {
                //第一项则不动
                if (lb.SelectedIndex == 0) return;
    
                int sIndex = lb.SelectedIndex;//选择项索引
                object obj1 = lb.Items[sIndex - 1];
                lb.Items[sIndex - 1] = lbPic.SelectedItem;//交换
                lb.Items[sIndex] = obj1;
    
                //设置焦点
                lb.SelectedIndex = --sIndex;
            }
    
            private void MoveDown(ListBox lb)
            {
                //最后一项则不动
                if (lb.SelectedIndex == lb.Items.Count - 1) return;
                int sIndex = lb.SelectedIndex;//选择项索引
                object obj1 = lb.Items[sIndex + 1];
                lb.Items[sIndex + 1] = lb.SelectedItem;//交换
                lb.Items[sIndex] = obj1;
                //设置焦点
                lb.SelectedIndex = ++sIndex;
            }
            private void Delete(ListBox lb)
            {
                //未选中任何项则返回
                if (lb.SelectedItem == null) return;
                int sIndex = lb.SelectedIndex;
                //删除当前选中项
                lb.Items.RemoveAt(sIndex);
                //设置焦点
                lb.SelectedIndex = sIndex > lb.Items.Count - 1 ? --sIndex : sIndex;
            }
    
            #region 图片列表控制
            //上移
            private void btnMoveUp_Click(object sender, EventArgs e)
            {
                try
                {
                    moveUp(lbPic);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            //下移
            private void btnMoveDown_Click(object sender, EventArgs e)
            {
                try
                {
                    MoveDown(lbPic);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            //删除
            private void btnDeletePic_Click(object sender, EventArgs e)
            {
                try
                {
                    Delete(lbPic);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            #endregion

    其中图片转为PDF用了ItextSharp dll,此处封装的PicToPDF类代码如下:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using iTextSharp.text;
    using iTextSharp.text.pdf;
    using OfficeWordAddInsDom;
    using System.IO;
    namespace PicsToPDF
    {
        class ImagesToPDF
        {
            public static void ConvertJPG2PDF(string[] jpgs, string pdf)
            {
                if (jpgs.Length < 1 || string.IsNullOrEmpty(pdf)) return;
                Document document = new Document(iTextSharp.text.PageSize.A4, 0, 0, 0, 0);
                using (FileStream stream = new FileStream(pdf, FileMode.Create, FileAccess.Write, FileShare.None))
                {
                    PdfWriter.GetInstance(document, stream);
                    document.Open();
                    for (int i = 0; i < jpgs.Length; i++)
                    {
                        string jpgfile = jpgs[i];
                        using (FileStream imageStream = new FileStream(jpgfile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                        {
                            
                            Image image = Image.GetInstance(imageStream);
                            if (image.Height > iTextSharp.text.PageSize.A4.Height - 0)
                            {
                                image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 0, iTextSharp.text.PageSize.A4.Height - 0);
                            }
                            else if (image.Width > iTextSharp.text.PageSize.A4.Width - 0)
                            {
                                image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 0, iTextSharp.text.PageSize.A4.Height - 0);
                            }
                            image.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE;
                            document.Add(image);
                        }
                    }
    
                    document.Close();
                }
            }
    
            public static void ConvertWord2PDF(string Word, string SavePath)
            {
                if (string.IsNullOrEmpty(SavePath)) return;
    
                Document document = new Document(iTextSharp.text.PageSize.A4, 0, 0, 0, 0);
                using (FileStream stream = new FileStream(SavePath, FileMode.Create, FileAccess.Write, FileShare.None))
                {
                    PdfWriter.GetInstance(document, stream);
                    document.Open();
                    string Wordfile = Word;
                    using (FileStream Stream = new FileStream(Wordfile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                    {
    
                    }
                    document.Close();
                }
            }
        }
    }
    

     2.Word转PDF的代码实现方式如下,主要添加Aspose.Word的引用即可。

          #region 选择word文档
            private void button1_Click(object sender, EventArgs e)
            {
                string[] FilePath;//文档数据路径
                //打开文件
                OpenFileDialog ofd = new OpenFileDialog();
                //ofd.InitialDirectory = "C:";//默认初始目录
                ofd.Filter = "Word(*.doc,*.docx,*.dot)|*.doc;*.docx;*.dot";
                ofd.Multiselect = true;//可以多选文件
                ofd.RestoreDirectory = false;//不还原当前目录,方便下次继续从相同地方添加图片
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    FilePath = ofd.FileNames;
                    if (FilePath == null)
                        return;
                    lbWordAdd(FilePath);
                }
            }
            #endregion
    
            #region 转换为PDF
            private void button2_Click(object sender, EventArgs e)
            {
                string savePath = string.Empty;
                //保存文件
                SaveFileDialog sfd = new SaveFileDialog();
                //sfd.InitialDirectory = "C:";//默认初始目录
                sfd.Filter = "PDF文件 (*.pdf)|*.pdf";
                sfd.RestoreDirectory = false;//记住保存目录
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    savePath = sfd.FileName;
                }
                if (string.IsNullOrEmpty(savePath)) return;
                try
                {
                    Document doc = new Document(lbWord.GetItemText(lbWord.Items[0]));
                    doc.RemoveAllChildren();
    
                    string[] filepath = new string[lbWord.Items.Count];
                    for (int i = 0; i < filepath.Length; i++)
                    {
                        filepath[i] = lbWord.GetItemText(lbWord.Items[i]);
                        Document srcDoc = new Document(filepath[i]);
                        doc.AppendDocument(srcDoc, ImportFormatMode.UseDestinationStyles);
                    }
                    doc.Save(savePath, SaveFormat.Pdf);
                    MessageBox.Show("转换完成!", "提示信息");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("程序出错!错误信息:\r\n" + ex.Message, "提示信息");
                }
                finally
                {
                    Cursor = Cursors.Default;
                }
            }
            #endregion
            /// <summary> 将word文档加入列表 </summary>
            private void lbWordAdd(string[] strAdd)
            {
                if (strAdd.Length < 1) return;
    
                for (int i = 0; i < strAdd.Length; i++)
                {
                    lbWord.Items.Add(strAdd[i]);
                }
            }

    界面如下所示:

    源代码的下载路径如下:源代码和DLL下载

    展开全文
  • Word选择多个自选图形对象

    千次阅读 2014-04-22 13:54:51
    Word文档中如果插入了多个自选图形对象,尤其是在位置上重叠时,想...在Word中快速选择多个自选图形对象可以使用“选择多个对象”命令来实现这个任务。 默认情况下“选择多个对象”命令不在功能区中,需要手动添加

    在Word文档中如果插入了多个自选图形对象,尤其是在位置上重叠时,想选中位于底层的对象或欲选中位于不同层次的多个对象时,就有点麻烦。

    那有没有快速在Word中选择多个自选图形对象的方法呢?下面就介绍一种在Word中选择多个自选图形对象的方法。

    在Word中快速选择多个自选图形对象可以使用“选择多个对象”命令来实现这个任务。

    默认情况下“选择多个对象”命令不在功能区中,需要手动添加。 首先点击“自定义快速访问工具栏”右侧的三角形,在弹出的列表中点击“其它命令”,打开“Word选项”对话框。

    此时在左侧列表中自动选中“自定义”项目,在中间 “从下列位置选择命令”下拉列表中选择“不在功能区中的命令”,并在下方的命令列表中选中“选择多个对象”,点击“添加”按钮,将其添加到快速访问工具栏。

    这样就在点击快速访问工具栏中的“选择多个对象”按钮时,可以打开“选择多个对象”

    展开全文
  • Word一行排列多个图片并插入题注

    千次阅读 2020-11-09 10:54:56
    Word中一行排列多个图片并插入题注1. 首先根据图片要排列成样式,插入表格。2. 然后将图片放入表格中。3. 对图片插入题注4. 取消表格边框5. 其他地方引用 1. 首先根据图片要排列成样式,插入表格。 2. 然后将图片放...

    1. 首先根据图片要排列成样式,插入表格。

    2. 然后将图片放入表格中。

    就像这样。

    表格内插入图片

    图片大小可能要调一调。

    3. 对图片插入题注

    图片插入题注

    4. 取消表格边框

    取消表格边框

    5. 其他地方引用

    其他地方引用

    展开全文
  • public string CreateWordFile(string CheckedInfo)  {  string message = "";  try  {  Object Nothing = System.Reflection.Missing.Value;  
      public string CreateWordFile(string CheckedInfo)
            {
                string message = "";
                try
                {
                    Object Nothing = System.Reflection.Missing.Value;
                    Directory.CreateDirectory("F:/CNSI");  //创建文件所在目录
                    string name = "CNSI_DATA.doc";
                    object filename = "F://CNSI//" + name;  //文件保存路径
                    //创建Word文档
                    Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
                    object missing = System.Reflection.Missing.Value;
                    object templatefile = CheckedInfo;
                    Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref templatefile, ref missing, ref missing, ref missing);
                    WordDoc.Activate();


                    //添加页眉
                    WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;
                    WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;
                    WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("[页眉内容]");
                    WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;//设置右对齐
                    WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;//跳出页眉设置
                    WordApp.Selection.ParagraphFormat.LineSpacing = 10f;//设置文档的行间距


                    //移动焦点并换行
                    object count = 5;
                    object WdLine = Microsoft.Office.Interop.Word.WdUnits.wdLine;//换一行;
                    Microsoft.Office.Interop.Word.Table newTableTitle = WordDoc.Tables.Add(WordApp.Selection.Range, 2, 3, ref Nothing, ref Nothing);
                    //设置表格样式
                    newTableTitle.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                    newTableTitle.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                    //newTableTitle.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleThickThinLargeGap;
                    //newTableTitle.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                    newTableTitle.Columns[1].Width = 150f;
                    newTableTitle.Columns[2].Width = 130f;
                    newTableTitle.Columns[3].Width = 150f;


                    newTableTitle.Cell(1, 1).Select();
                    newTableTitle.Cell(1, 3).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
                    object moveUnit = Microsoft.Office.Interop.Word.WdUnits.wdLine;
                    //object moveCount = 5;
                    object moveCount = 1;
                    object moveExtend = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;
                    WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);
                    //WordApp.Selection.Cells.Merge();
                    //插入图片
                    string FileName = @"F:\leo\project\pic1.jpg";//图片所在路径
                    object LinkToFile = false;
                    object SaveWithDocument = true;
                    object Anchor = WordDoc.Application.Selection.Range;
                    WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);
                    //WordDoc.Application.ActiveDocument.InlineShapes[1].Width = 130f;//图片宽度
                    //WordDoc.Application.ActiveDocument.InlineShapes[1].Height = 90f;//图片高度


                    newTableTitle.Cell(1, 3).Select();
                    newTableTitle.Cell(1, 3).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphRight;
                    object moveUnit1 = Microsoft.Office.Interop.Word.WdUnits.wdLine;
                    object moveCount1 = 1;
                    object moveExtend1 = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;
                    WordApp.Selection.MoveDown(ref moveUnit1, ref moveCount1, ref moveExtend1);
                    //插入图片
                    string FileName1 = @"F:\leo\project\pic2.jpg";//图片所在路径
                    object LinkToFile1 = false;
                    object SaveWithDocument1 = true;
                    object Anchor1 = WordDoc.Application.Selection.Range;
                    WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName1, ref LinkToFile1, ref SaveWithDocument1, ref Anchor1);


                    newTableTitle.Cell(1, 2).Range.Text = "RTM圆桌会议申请表";
                    newTableTitle.Cell(1, 2).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    newTableTitle.Cell(1, 2).Range.Font.Size = 16;
                    newTableTitle.Cell(1, 2).Range.Bold = 2;
                    newTableTitle.Cell(1, 2).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalBottom;


                    object ncount = 2;
                    WordApp.Selection.MoveDown(ref WdLine, ref ncount, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落


                    Microsoft.Office.Interop.Word.Table newTableHead = WordDoc.Tables.Add(WordApp.Selection.Range, 2, 4, ref Nothing, ref Nothing);
                    //设置表格样式
                    newTableHead.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                    newTableHead.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                    //newTableHead.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleThickThinLargeGap;
                    //newTableHead.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;


                    newTableHead.Cell(1, 1).Range.Text = "EventNo:";
                    newTableHead.Cell(1, 1).Range.Bold = 2;//设置单元格中字体为粗体
                    newTableHead.Cell(1, 1).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;


                    newTableHead.Cell(1, 2).Range.Text = "RTM17000016";
                    newTableHead.Cell(1, 2).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;


                    newTableHead.Cell(2, 1).Range.Text = "  Venue:";
                    newTableHead.Cell(2, 1).Range.Bold = 2;//设置单元格中字体为粗体
                    newTableHead.Cell(2, 1).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;


                    newTableHead.Cell(2, 2).Range.Text = "陕西省西安市西京医院陕西省西安市西京医院陕西省西安市西京医院陕西省西安市西京医院";
                    newTableHead.Cell(2, 2).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;


                    newTableHead.Cell(2, 3).Range.Text = "Meeting Date:";
                    newTableHead.Cell(2, 3).Range.Bold = 2;//设置单元格中字体为粗体
                    newTableHead.Cell(2, 3).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphRight;
                    newTableHead.Cell(2, 4).Range.Text = "2017-05-26 06:09:09";
                    newTableHead.Cell(2, 4).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;


                    object tcount = 2;//移动行数
                    WordApp.Selection.MoveDown(ref WdLine, ref tcount, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落


                    //获取数据源
                    DataTable dt = GetDataInfo();--此处需要方法实现数据源,具体列名参照下面表格处理;


                    //文档中创建表格
                    Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, dt.Rows.Count, 5, ref Nothing, ref Nothing);
                    //设置表格样式
                    newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleThickThinLargeGap;
                    newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;


                    //填充表格内容
                    newTable.Cell(1, 1).Range.Text = "Name";
                    newTable.Cell(1, 1).Range.Bold = 2;//设置单元格中字体为粗体
                    WordApp.Selection.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
                    WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平居中


                    //填充表格内容
                    newTable.Cell(1, 2).Range.Text = "Title";
                    newTable.Cell(1, 2).Range.Bold = 2;//设置单元格中字体为粗体
                    newTable.Cell(1, 2).VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
                    newTable.Cell(1, 2).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;


                    //填充表格内容
                    newTable.Cell(1, 3).Range.Text = "Hospitals&Speciaty/Organ";
                    newTable.Cell(1, 3).Range.Bold = 2;//设置单元格中字体为粗体
                    newTable.Cell(1, 3).VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
                    newTable.Cell(1, 3).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    //纵向合并单元格
                    //newTable.Cell(3, 3).Select();//选中一行
                    newTable.Cell(1, 4).Range.Text = "Signature";
                    newTable.Cell(1, 4).Range.Bold = 2;//设置单元格中字体为粗体
                    newTable.Cell(1, 4).VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
                    newTable.Cell(1, 4).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;


                    newTable.Cell(1, 5).Range.Text = "Remarks";
                    newTable.Cell(1, 5).Range.Bold = 2;//设置单元格中字体为粗体
                    newTable.Cell(1, 5).VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
                    newTable.Cell(1, 5).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;


                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        newTable.Cell(2 + i, 1).Range.Text = dt.Rows[i]["Name"].ToString();
                        newTable.Cell(2 + i, 1).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        newTable.Cell(2 + i, 1).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                        newTable.Cell(2 + i, 1).Range.Font.Size = 10;
                        newTable.Cell(2 + i, 2).Range.Text = dt.Rows[i]["Title"].ToString();
                        newTable.Cell(2 + i, 2).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        newTable.Cell(2 + i, 2).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                        newTable.Cell(2 + i, 2).Range.Font.Size = 10;
                        newTable.Cell(2 + i, 3).Range.Text = dt.Rows[i]["Hospitals"].ToString(); 
                        newTable.Cell(2 + i, 3).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        newTable.Cell(2 + i, 3).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                        newTable.Cell(2 + i, 3).Range.Font.Size = 10;
                        newTable.Cell(2 + i, 4).Range.Text = dt.Rows[i]["Signature"].ToString();
                        newTable.Cell(2 + i, 4).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        newTable.Cell(2 + i, 4).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                        newTable.Cell(2 + i, 4).Range.Font.Size = 10;
                        newTable.Cell(2 + i, 5).Range.Text = dt.Rows[i]["Remarks"].ToString();
                        newTable.Cell(2 + i, 5).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        newTable.Cell(2 + i, 5).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                        newTable.Cell(2 + i, 5).Range.Font.Size = 10;
                    }


                    //newTable.Cell(2, 1).Range.Text = "丁肇中";
                    //newTable.Cell(2, 1).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    //newTable.Cell(2, 1).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    //newTable.Cell(2, 1).Range.Font.Size = 10;
                    //newTable.Cell(2, 2).Range.Text = "主治医师";
                    //newTable.Cell(2, 2).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    //newTable.Cell(2, 2).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    //newTable.Cell(2, 2).Range.Font.Size = 10;
                    //newTable.Cell(2, 3).Range.Text = "陕西省西安市西京医院";
                    //newTable.Cell(2, 3).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    //newTable.Cell(2, 3).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    //newTable.Cell(2, 3).Range.Font.Size = 10;
                    //newTable.Cell(2, 4).Range.Text = "丁肇中";
                    //newTable.Cell(2, 4).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    //newTable.Cell(2, 4).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    //newTable.Cell(2, 4).Range.Font.Size = 10;
                    //newTable.Cell(2, 5).Range.Text = "备注";
                    //newTable.Cell(2, 5).Range.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    //newTable.Cell(2, 5).VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    //newTable.Cell(2, 5).Range.Font.Size = 10;


                    //在表格中增加行
                    //WordDoc.Content.Tables[1].Rows.Add(ref Nothing);


                    //文件保存
                    WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
                    //if(newTableTitle.Rows.Count > 1)
                    //{
                    //    newTableTitle.Rows[newTableTitle.Rows.Count ].Delete();
                    //}
                    WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
                    WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
                    message = name + "文档生成成功,以保存到C:CNSI下";
                }
                catch(Exception ex)
                {
                    message = "文件导出异常!";
                }
                return message;

            }


         -------特殊讲解:

                   object tcount = 2;//移动行数
                    WordApp.Selection.MoveDown(ref WdLine, ref tcount, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落

    截取的以上三行代码,MoveDown开始我也认知不是很清楚,其实就是移动当前焦点到下个模块,移动之后,需要WordApp.Selection.TypeParagraph();插入段落,

    就可以重新开始插入表格,图片,《 object tcount = 2;//移动行数》重要参数,移动位置的参数,假设你上面已经录入两行,那么,它的值就可以设置成2,下一个模块内容

    就和上面无缝衔接,不然会产生内容之间有较大的空格,甚至整个布局会混乱,尤为注意,互相学习,多多提意见;

    展开全文
  • poi 合并多个word 适应图片

    千次阅读 2018-11-12 19:31:47
    1.基础代码是使用 参考别人的文章(jar 到处都能找到),此文章也只是---记录 自己在开发时遇到的一坑: 参考文章地址:http://max1487.iteye.com/blog/2424890    2.主要代码:(我踩的坑,我已标红,后面...
  • python合并多个word文档(带图片等)

    万次阅读 热门讨论 2018-12-11 17:53:54
    #需要合并的文档路径,这里有文档1.docx,2.docx,3.docx. files = [ 'F://work//2.docx' , 'F://work//1.docx' , 'F://work//3.docx' ] for file in files : output . Application . Selection...
  • 使用freemarker导出word文档包含图片 最近项目中有需求就是导出word文档并且文档中需要有图片,我当时一脸懵逼啊,之前没有搞过这啊,但是不要灰心,肯定会有很多人搞过的,百度一下,很坑啊,居然...
  • 使用easypoi导出带多图片Word压缩包

    千次阅读 2019-05-05 17:22:08
    使用easypoi导出多图片多Word压缩包使用模板生成Word新建模板代码组装压缩包 使用模板生成Word 链接: 参考poi api. 新建模板 模板语法 图片: 代码 public XWPFDocument imageWordExport(byte[] imgdata,byte[] ...
  • Word并排插入图片 一行插入三张 排版方法汇总

    万次阅读 多人点赞 2018-12-02 22:28:32
    Word文档中可以插入图片,那怎样使图片并排显示呢?下面给大家简单的介绍两种方法。 个人建议,使用方法二 方法一: 1、插入一1行3列的表格 2、分别在三单元格中插入图片 可见由于图片过大,显示不全...
  • Java POI合并多个word文件

    万次阅读 热门讨论 2018-09-17 14:29:04
    对于多个docx文件,可以使用POI合并生成一个组合的docx文件,这个方法分享给大家。不过对于docx文件中存在有图片的文档,此种方法没有做处理,需要的朋友可以自己扩展一下。 import java.io.FileNotFoundException...
  • 找网上的也没有合适的,后来找到可以导入Word的,但是要在服务器安装Word才可以使用这功能(没找到不安装Word,只安装插件什么的就可以用的),所以就换了方法,自己写了一插件,把本地图片进行Base64编码,...
  • Word中插入图片/论文图片排版的方法

    万次阅读 多人点赞 2020-02-20 16:05:56
    常常需要在word中插入图片,每张图片都要一一调整大小对齐,很麻烦!!! 下面,介绍一种简单快捷的方法。 第一步:打开word,根据需求,创建一n行n列的表格。 第二步:点击表格左上角的"十字",选择表格属性...
  • 一、先建立三回车符,然后选定这三回车符,再选择编辑中的分栏,将其分为三栏,此时分别插入不同的图片即可。栏的大小只能按照图片的大小自己手动调整,无法自动调整。 二、在同一行内连续插入三张图,图片的...
  • 在EXCEL里可以插入多种对象,如PDF\WORD\EXCEL\图片等,但一次性只能插入一对象,并且要在excel里显示插入对象的图标和原来名称的话还需要繁琐的步骤。因此,设计一宏来解决这问题。 以下是宏代码: Sub ...
  • 客户给的是WORD文档,要在APP上使用,鉴于手机上使用Word文档的复杂性,想转换成图片显示。 在度娘上翻了两天,终于找到了一有用的,赞一 怎么样用PHOTOSHOP把两张扫描图片合并在一起 结合我的情况,...
  • 为了能够同时选中多个图片,我们需要首先调出打开word开始菜单,我们必须首先调出“选择多个对象”的按钮。我们首先打开word的开始菜单,然后选择word选项” 在word选项中,我们点击 自定义,...
  • 实现html和word的相互转换(带图片

    万次阅读 多人点赞 2018-06-16 13:29:10
    目前从html转换的word为doc格式,而图片处理支持的是docx格式,所以需要手动把doc另存为docx,然后才可以进行图片替换。 一.添加maven依赖 主要使用了以下和poi相关的依赖,为了便于获取html的图片元素,还使用了...
  • poi-tl 生成图片后,清除图片
  • java利用poi添加图片word

    万次阅读 2017-04-19 15:57:08
    poi提供的方法是有添加图片word的,但是并不是兼容所有word。所以需要重写他的方法第一步,导入jar <groupId>org.apache.poi <artifactId>poi <version>3.15 </dep
  • Python:把图片放在同一个word

    千次阅读 2019-12-31 10:39:16
    因为比较乱,所以需要把图片放在一个个按“门店名称”创建的文件夹下,以供部门同事后续核对 from PIL import Image from docx import Document from docx.shared import Inches from docx impo...
  • 设置模板然后另存为这里一定要选择对xml格式,否则后期模板图片设置的时候有问题,无法图片,被这坑过,勿踩!!!然后就是把xml文件直接修改后缀.ftl文件直接放到项目目录下代码:import java.io....
  • C# 提取Word文档中的图片

    千次阅读 2016-02-16 15:40:26
    图片和文字是word文档中两种最常见的对象,在微软word中,如果我们想要提取出一文档内的图片,只需要右击图片选择另存为然后命名保存就可以了。今天这篇文章主要是实现如何使用C#从word文档中提取图片。 这里我...
  • Word中批量插入图片,自动排版

    万次阅读 2020-08-18 17:02:44
    将选中的所有图片批量插入到Word中,并按顺序排列下去,同时图片统一尺寸,要实现这需求使用手工操作是不行的,效率相度的低。 采用Word插件《Word精灵4.4》可以瞬间完成。 Word精灵4.4下载地址 1....
  • 第一步:制作freemarker模板文件另存为xml然后将xml文件重命名为ftl接下来修改ftl文件内容主要将图片位子换成动态可读取第一红色框是组员签字动态读取,第二是组长签字需要读取后面的内容需要和这里的id想对应如...
  • 图片PDF转word

    千次阅读 2019-06-01 09:52:09
    最近需要把PDF转word,试了几网站发现PDF是图片做成的而不是文本直接做的。 找了些国内的软件都要收费。 直接放网站:https://www.onlineocr.net/ 限制:只有50页的免费权限 使用: 1 点右上角SIGN UP 去注册...
  • 使用PHPWord读取Word文件并插入图片

    万次阅读 2016-10-20 16:15:23
    刚才同学问我怎么读取一个word文件并插入图片,我觉得这种问题PHPWord肯定可以完成,但是他说弄不了。 我就写了demo看一下,事实证明是可以的。 date_default_timezone_set("Asia/Shanghai"); require_once ...
  • word中批量修改图片大小的两方法

    万次阅读 2018-07-19 11:23:26
    如果要的是ppt运行过程中的内容,在qq运行的情况下,按Ctrl+Alt+A截屏,按勾,然后可以直接粘贴到word中(生成的图片已经在剪贴板中了)    ///////////////////////////////////////////////////////////////////...
  • c#提取word文档中的图片

    千次阅读 2015-10-20 14:18:50
    c#提供了Microsoft.Office.Interop.Word,可以操作word文档,提取出图片,当然不仅仅是提取图片,从操作word可以看出,可以干很事了,要做什么,自己需要什么就做什么。使用这玩意有点不好的是,你必须安装
  • word文中有交叉引用一图形,在交叉引用中:引用类型(图),引用内容(只有标签和编号),出来的结果是:整张图和题注都插入到引文中了。试了很遍---原因以及解决办法--- 图片太大,刚好占满word的宽度,导致...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 110,773
精华内容 44,309
关键字:

word选择多个图片