`
sbabzc
  • 浏览: 39156 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

通过delphi程序给WORD添加水印

阅读更多
unit Unit1;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, WordXP, OleServer;

type
  TForm1 = class(TForm)
    Button1: TButton;
    WordDocument1: TWordDocument;
    WordApplication1: TWordApplication;
    Edit1: TEdit;
    Label1: TLabel;
    Button2: TButton;
    Button3: TButton;
    Label2: TLabel;
    Edit2: TEdit;
    OpenDialog1: TOpenDialog;
    OpenDialog2: TOpenDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var
  StrTemp : String;
  ZS : Integer;
  Nian, Yue, Ri : Word;

  ItemIndex :OleVariant;
  FileName, ConfirmConversions, ReadOnly, AddToRecentFiles,
  PasswordDocument, PasswordTemplate, Revert,
  WritePasswordDocument, WritePasswordTemplate, Format: OleVariant;

  FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike,
  MatchAllWordForms, Forward, Wrap, ReplaceWith, Replace: OleVariant;

  SaveChanges, OriginalFormat, RouteDocument: OleVariant;

  linkflag,saveflag,prange,a,b,c:OleVariant;

  Filename1:wideString;
  OleVar:OLEVariant;


begin
  FileName := Edit2.Text;
  try
    // WordApplication1.Disconnect;
    WordApplication1.Connect;
  except
    Application.MessageBox('连接WORD服务器失败,请确定您已经正确安装。','错误框',MB_OK+MB_ICONSTOP);
    Abort;
  end;


  WordApplication1.Visible := False;
  WordApplication1.Caption := '干部考察材料';

  //参数赋值
  ConfirmConversions := False;
  ReadOnly := False;
  AddToRecentFiles := False;
  PasswordDocument := '';
  PasswordTemplate := '';
  Revert := True;
  WritePasswordDocument := '';
  WritePasswordTemplate := '';
  Format := wdOpenFormatDocument;

  WordApplication1.Documents.Openold( FileName, ConfirmConversions,
  ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate,
  Revert, WritePasswordDocument, WritePasswordTemplate, Format );

  ItemIndex := 1;
  WordDocument1.ConnectTo(WordApplication1.Documents.Item(ItemIndex));

  //WordDocument1.Range.InsertAfter('123');

  linkflag:=false;
  saveflag:=False;
  prange:=WordDocument1.ActiveWindow.Selection.range;


  Filename1:= Edit1.Text;


  WordApplication1.ActiveDocument.Sections.Item(1).Headers.Item(1).Range.Select;


  WordDocument1.ActiveWindow.ActivePane.selection.HeaderFooter.Shapes.AddPicture(filename1, linkflag,
  EmptyParam, prange, EmptyParam, EmptyParam, EmptyParam, EmptyParam) ;


  OleVar := WordDocument1.ActiveWindow.ActivePane.selection.HeaderFooter.Shapes.Count;

  WordDocument1.ActiveWindow.ActivePane.selection.HeaderFooter.Shapes.Item(OleVar).Height := 574;
  WordDocument1.ActiveWindow.ActivePane.selection.HeaderFooter.Shapes.Item(OleVar).Width := 574;

  WordDocument1.ActiveWindow.ActivePane.selection.HeaderFooter.Shapes.Item(OleVar).Left := 0;
  WordDocument1.ActiveWindow.ActivePane.selection.HeaderFooter.Shapes.Item(OleVar).Top := 0;
 

      
  WordDocument1.Save;

  WordDocument1.Close;
  WordDocument1.Disconnect;
  WordApplication1.Disconnect;


end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    Edit1.Text:=OpenDialog1.FileName;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  if OpenDialog2.Execute then
    Edit2.Text:= OpenDialog2.FileName;
end;

end.

//有个问题,如果这个文件被锁定或者这个文件为最终状态,会写入失败

全部文章请到

http://www.xszlo.com/article/2012-11-29/7539.html

查看
分享到:
评论

相关推荐

    图片盖章程序(delphi源码)

    在IT行业中,图片处理是一项常见的任务,而给图片添加水印或盖章是保护版权、表明出处或增强视觉效果的有效手段。本项目提供了一个用Delphi编程语言编写的图片盖章程序,它包括了可执行文件(exe)和动态链接库(dll...

    Delphi自定义报表

    这就需要在Delphi程序中编写相应的代码来处理这些逻辑,通过调用报表控件的API接口实现。 在给定的文件名"AcPort"中,我们可以推测这可能是报表控件的一个组件或库,可能涉及到报表打印相关的功能。在Delphi中,`...

    EMS.QuickPDF控件

    【QuickPDF控件】是该产品的核心组件,它提供了丰富的API接口和方法,使得开发者能够轻松实现各种PDF操作,例如添加页面、插入图片、设置文本样式、创建链接、添加水印、进行数字签名以及加密保护PDF文档等。...

    QuickPDFLibrary v8.14 (SN=jt9m79tc4rh9ha8j19t595j4y).exe.7z

    将QuickPDF Library与Delphi结合使用,开发者可以轻松地在他们的Delphi应用中添加PDF相关的功能,如生成PDF报告、编辑现有PDF文档、添加水印、提取文本和图像、合并PDF文件等。 QuickPDF Library v8.14可能包含以下...

    Debenu Quick PDF Library 11.11 code

    它支持从头开始构建PDF文档,或者从其他文档(如Word、Excel或图像文件)导入内容。 2. **PDF编辑**:Debenu Quick PDF Library允许对现有PDF文档进行编辑,包括修改文本、调整图像大小、替换页面、合并PDF文件、...

    DevExpress VCL 14.2.2 - XE8

    此外,该版本还集成了强大的文档编辑器,如RichEditControl,支持Word文档的查看与编辑,同时还具备邮件合并、水印添加等实用功能。 ### 开发环境兼容性 DevExpress VCL 14.2.2专为Embarcadero XE8设计,与Delphi...

    PowerPdf v0.9 与PDF有关的控件组件

    9. **水印与页眉页脚**:添加自定义水印或自动插入页眉页脚,增强PDF的专业外观。 10. **PDF元数据管理**:读取和修改PDF文档的元数据,如作者、标题、关键字等。 通过Delphi的集成开发环境,PowerPdf v0.9 提供了...

    最干净的pdf虚拟打印机

    标题中的“最干净的PDF虚拟打印机”意味着这款软件在生成PDF文件时不会添加不必要的水印或广告,提供了一个纯净、专业的PDF输出环境。这种特性对于那些希望保持文档原始外观和专业性的用户来说尤其重要,避免了水印...

    视听工具箱 V1.0

    此外,它可能还具备视频剪辑、合并、添加水印、调整视频质量等功能,满足用户在制作短视频或教学视频时的需求。 音频处理方面,工具箱可能包含音频剪辑、合并、音量调整和格式转换等工具。这对于需要处理背景音乐、...

    FastReport.Net v1.2.47

    FastReport.Net v1.2.47是一款专为.NET Framework设计的报表生成工具,它源自经典的Delphi报表组件,将Delphi控件的优秀特性移植到了.NET平台上,为开发者提供了强大的报表设计和打印功能。这款专业版本包含了完整的...

Global site tag (gtag.js) - Google Analytics