FAQ > 金融建模 > 第三方交互 > 其他

Q:如何将图形旋转后导入到Word文件中    

  • A:可借助word的"Word.Application"接口的功能,对图片进行旋转后导出,具体实现可参考下面给出的案例:
    第一步:封装旋转图片并导出到word的功能

    function AddPictureToWord(picpath,wordpath,left,top,width,height,rotate);
    begin
    {
     通过com对象,在指定excel里导入图片
     picpath:图片路径
     wordpath:打开或新建word路径
     left,top:图片插入位置
     width,height:图片宽高;保留原图片宽高,设置为-1
     rotate:图片旋转角度
    }

     //创建com对象
     GetOleObject("Word.Application",0,Obj);
     //打开或新建word
     app:=Obj.documents.Open(wordpath);
     if not ifobj(app) then
     begin
      ifnewdoc:=1;
      app:=Obj.Documents.Add;
     end

     //添加图片,设置图片位置和大小
     sh:=obj.selection.InlineShapes.AddPicture(picpath);
     //选中图片
     num:=app.InlineShapes.Count;
     shape:=app.InlineShapes(num).ConvertToShape;
     //图片旋转
     shape.IncrementRotation(rotate);
     //图片位置
     Shape.Top := top;
     Shape.Left := left;
     if width>0 then Shape.Width := width;
     if Height>0 then Shape.Height := height;

     //保存word
     if ifnewdoc then
      app.saveas(wordpath);
     else
      app.save();
     //关闭word
     app.close();
    end

    第二步:调用上面的模型,实现对指定图形的旋转并导出到指定word的操作

    Function PicToWordDemo();
    Begin
     picpath:='D:\\DemoTest\\klineTest01.jpg';//图片
     wordpath:="D:\\DemoTest\\test.docx";//word文件
     return rdo2 AddPictureToWord(picpath,wordpath,100,100,100,100,90);
    end;

    返回结果展示: