• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

word转图片delphi源代码

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
unit paswordtopdf;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, Buttons, ExtCtrls, OleCtnrs, PDF, WinSkinData,
    ComCtrls, Jpeg, ImgList, ToolWin;

type
    TFrmwordtopdf = class(TForm)
        PageControl1: TPageControl;
        TabSheet1: TTabSheet;
        TabSheet2: TTabSheet;
        TabSheet3: TTabSheet;
        RadioGroup1: TRadioGroup;
        GroupBox3: TGroupBox;
        TrackBar1: TTrackBar;
        Button2: TButton;
        Button3: TButton;
        GBPDF: TGroupBox;
        edtpdffileName: TEdit;
        btnsavepdf: TButton;
        gbSelectWord: TGroupBox;
        edtdocFilename: TEdit;
        btnselword: TButton;
        btnexit: TButton;
        SkinData1: TSkinData;
        btnreg: TButton;
        Button6: TButton;
        TabSheet4: TTabSheet;
        GroupBox6: TGroupBox;
        edtpic: TEdit;
        Button13: TButton;
        GroupBox8: TGroupBox;
        edtpicpdf: TEdit;
        Button15: TButton;
        Panel1: TPanel;
        rgpage: TRadioGroup;
        BitBtn1: TBitBtn;
        btnhelp: TBitBtn;
        BitBtn2: TBitBtn;
        lbltime: TLabel;
        btnWordtoPDF: TBitBtn;
        BitBtn7: TBitBtn;
        BitBtn8: TBitBtn;
        SetWaterMark: TBitBtn;
        Button1: TButton;
        Button4: TButton;
        Button5: TButton;
        ToolBar1: TToolBar;
        ImageList1: TImageList;
        tbWordToPDF: TToolButton;
        tbPPtTOPDF: TToolButton;
        tbPICTOPDF: TToolButton;
        tbSetWaterMak: TToolButton;
        tbAbout: TToolButton;
        tbHelp: TToolButton;
        ToolButton9: TToolButton;
    sbregistered: TToolButton;
        ToolButton11: TToolButton;
        ToolButton12: TToolButton;
        TbBuy: TToolButton;
        Panel2: TPanel;
        StatusBar1: TStatusBar;
        ImageList2: TImageList;
        pnlConvert: TPanel;
        Image1: TImage;
        lblFileName: TLabel;
        lblFileSize: TLabel;
        LbLFileType: TLabel;
        edtUser: TEdit;
        ckbopen: TCheckBox;
    tbMainPage: TSpeedButton;
        SpeedButton2: TSpeedButton;
        Panel4: TPanel;
        GroupBox4: TGroupBox;
        edtpptFilename: TEdit;
        Button8: TButton;
        GroupBox5: TGroupBox;
        edtpptpdf: TEdit;
        Button9: TButton;
        gbpptnum: TGroupBox;
        cbpptnum: TComboBox;
        Panel3: TPanel;
        GBRight: TGroupBox;
        btnConvert: TSpeedButton;
    Panel5: TPanel;
    Image2: TImage;
    Label1: TLabel;
    Panel6: TPanel;
    Image3: TImage;
    Label2: TLabel;
    Panel7: TPanel;
    Image4: TImage;
    Label3: TLabel;
    SpeedButton1: TSpeedButton;
        procedure btnexpClick(Sender: TObject);
        procedure btnselwordClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure btnsavepdfClick(Sender: TObject);
        procedure btnexitClick(Sender: TObject);
        procedure RadioGroup1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure TrackBar1Change(Sender: TObject);
        procedure Button8Click(Sender: TObject);
        procedure Button9Click(Sender: TObject);
        procedure Button13Click(Sender: TObject);
        procedure Button15Click(Sender: TObject);
        procedure btnpicpdfClick(Sender: TObject);
        procedure Button12Click(Sender: TObject);
        procedure btnregClick(Sender: TObject);
        procedure btnhelpClick(Sender: TObject);
        procedure Button14Click(Sender: TObject);
        procedure btnBackClick(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
        procedure btnWordtoPDFClick(Sender: TObject);
        procedure Image1Click(Sender: TObject);
        procedure lbltimeClick(Sender: TObject);
        procedure FormShow(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure tbWordToPDFClick(Sender: TObject);
        procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
            Panel: TStatusPanel; const Rect: TRect);
        procedure Button11Click(Sender: TObject);
        procedure tbSetWaterMakClick(Sender: TObject);
        procedure tbHelpClick(Sender: TObject);
        procedure sbregisteredClick(Sender: TObject);
        procedure tbAboutClick(Sender: TObject);
        procedure TbBuyClick(Sender: TObject);
        procedure tbMainPageClick(Sender: TObject);
    private
        { Private declarations }
        Convertidx: integer;

        function setistrue(var wordFilename, pdfFileName: string): Boolean;
        //拷贝为图像

        procedure CopyAsPicture();

        //抓屏的方法
        procedure scanscreen();
        //获得信息
        procedure GetFileInfo(FileName: string);

    public
        { Public declarations }
    end;

var
    Frmwordtopdf                        : TFrmwordtopdf;

implementation

uses utMyword, utygpub, utylstream, PasERegPass, utEYLpass,
    utmyPPt, About, PasSetWatermark, utMyProgress, IdGlobal, utPPtToPDF;
const
    Mycaption                           = 'PDFScan Converter ';
    Maxnum                              : integer = 10;

function BlockInput(fFreezeInput: Boolean): DWord; stdcall; external
    'user32.DLL';

{$R *.dfm}
var
    url                                 : string ='';// 'http://www.pdfgolds.com';

function GetFileSize(FileName: string): integer;
begin
    result := FileSizeByName(FileName);
end;

function TFrmwordtopdf.setistrue(var wordFilename, pdfFileName: string):
    Boolean;
var
    str                                 : string;
begin
    result := false;
    wordFilename := edtdocFilename.Text;
    if wordFilename = '' then
    begin
        raise exception.Create('Word doc file can''t for empty');
    end;
    if not fileexists(wordFilename) then
    begin
        raise exception.CreateFmt('%s Document file does not exist',
            [wordFilename]);
    end;
    pdfFileName := edtpdffileName.Text;
    if pdfFileName = '' then
    begin
        raise exception.Create('pdfFiles can''t for empty');
    end;
    str := Format('%sFile already exists, is deleted?', [pdfFileName]);
    if fileexists(pdfFileName) then
    begin
        if not ansker_showmessage(str, str) then exit;
        if not deletefile(pdfFileName) then
            raise
                exception.CreateFmt('%s Document file already exists, cannot be removed',
                [pdfFileName]);
    end;
    CompressionQuality := TrackBar1.Position;
    result := True;
end;
//抓屏的方法

procedure TFrmwordtopdf.scanscreen();
var
    MyWord                              : TMyWord;
    wordFilename, pdfFileName           : string;
begin
    if not setistrue(wordFilename, pdfFileName) then exit;

    MyWord := TMyWord.Create(True);
    BlockInput(True);
    self.Visible := false;
    try
        MyWord.openFile(edtdocFilename.Text);

        MyWord.outpdfbyScreenShot(pdfFileName);
    finally
        BlockInput(false);
        self.Visible := True;
        MyWord.Free;
    end;

end;
//拷贝为图像

procedure TFrmwordtopdf.CopyAsPicture();
var
    MyWord                              : TMyWord;
    wordFilename, pdfFileName           : string;
begin
    if not setistrue(wordFilename, pdfFileName) then exit;

    MyWord := TMyWord.Create(false);

    try
        MyWord.openFile(edtdocFilename.Text);
        MyWord.openPDF := self.ckbopen.Checked;

        MyWord.outpdfbyCopyPicture(pdfFileName);
    finally

        MyWord.Free;
    end;

end;

//获得信息

procedure TFrmwordtopdf.GetFileInfo(FileName: string);
var
    ExtFilename                         : string;
begin
    lblFileSize.Caption := 'FileSize : ' + Inttostr(GetFileSize(FileName) div
        1024) + 'KB';
    lblFileName.Caption := 'FileName:' + ExtractFileName(FileName);
    ExtFilename := uppercase(ExtractFileExt(FileName));
    if ExtFilename = '.DOC' then
    begin

        LbLFileType.Caption := 'FileType: Word';
    end
    else if ExtFilename = '.PPT' then
    begin

        LbLFileType.Caption := 'FileType: PowerPoint';
    end
    else
    begin
        LbLFileType.Caption := 'FileType: Picture';
    end;
end;

procedure TFrmwordtopdf.btnselwordClick(Sender: TObject);
var
    pdfFileName                         : string;
begin
    selectfile(edtdocFilename, '*.doc|*.doc');
    pdfFileName := edtdocFilename.Text;
    edtpdffileName.Text := ChangeFileExt(pdfFileName, '.pdf');
    GetFileInfo(pdfFileName);

end;

procedure TFrmwordtopdf.FormCreate(Sender: TObject);
//判断密码是否正确
    function isok(): Boolean;
    begin
        result := getisok();
        sbregistered.Visible := result;
        TbBuy.Visible:=self.sbregistered.Visible;
    end;

begin
    ylparam := 'E299';
    isok();
    if getisok() then
    begin
        Caption := Mycaption + ' V2.0' + getVerInfo(application.ExeName) +
            ' (unregistered)';
    end
    else
    begin
        Caption := Mycaption + ' V2.0' + getVerInfo(application.ExeName);

    end;
    Convertidx := 1;
    self.PageControl1.ActivePageIndex := 1;

end;

procedure TFrmwordtopdf.FormClose(Sender: TObject;
    var Action: TCloseAction);
begin
    AppSaveSet();
end;

procedure TFrmwordtopdf.btnsavepdfClick(Sender: TObject);
begin
    savefile(edtpdffileName, '*.pdf|*.pdf', '.pdf');
end;

procedure TFrmwordtopdf.btnexitClick(Sender: TObject);
begin
    close();
end;

procedure TFrmwordtopdf.RadioGroup1Click(Sender: TObject);
begin
    Convertidx := RadioGroup1.ItemIndex;
end;

procedure TFrmwordtopdf.Button2Click(Sender: TObject);
var
    MyWord                              : TMyWord;

begin

    CompressionQuality := 100;
    MyWord := TMyWord.Create(false);

    try
        MyWord.openFile(edtdocFilename.Text);

        //MyWord.SavePicture('c:\temp\');
        MyWord.GetAllTable('c:\temp\');
    finally

        MyWord.Free;
    end;

end;

procedure createwortoword(pdfFileName: string);
var
    List                                : TstringList;
    i, num                              : integer;
    FileName                            : string;
var
    MyWord                              : TMyWord;

begin

    MyWord := TMyWord.Create(false);
    List := TstringList.Create;
    try
        MyWord.newDocument();

        SearchTabFiles(TempPath, List, '.jpg', false);

        num := List.Count;
        //initProgressBar(num, '正在扫描');
        if getisok() then
        begin
            if num > Maxnum then
            begin
                num := Maxnum;
            end;
        end;
        for i := 1 to num do
        begin

            FileName := TempPath + Inttostr(i) + '.jpg';

            MyWord.AddPicture(FileName);
            MyWord.MoveEnd();
            //MyWord.setbackpicture(FileName);

           // deletefile(pchar(FileName));
            //if ProgressStep() then
           //     Break;

        end;

        //FDoc.ActiveWindow.View.FullScreen:=True;
        MyWord.Save(pdfFileName);
    finally
        MyWord.Free();
        List.Free();
        // FreeProgressStep();
    end;

end;

procedure TFrmwordtopdf.Button3Click(Sender: TObject);
var
    MyWord                              : TMyWord;
    wordFilename, pdfFileName           : string;
begin
    if not setistrue(wordFilename, pdfFileName) then exit;
    killtask('winword.exe');

    MyWord := TMyWord.Create(false);
    try
        MyWord.openFile(edtdocFilename.Text);
        MyWord.outjpgbyCopyPicture(pdfFileName);
    finally

        MyWord.Free;

    end;
    //createwortoword('c:\1.doc');

end;

procedure TFrmwordtopdf.TrackBar1Change(Sender: TObject);
begin
    GroupBox3.Caption := Format('Export pictures PDF quality(%d',
        [TrackBar1.Position]) + '%)';
end;

procedure TFrmwordtopdf.Button8Click(Sender: TObject);

var
    pdfFileName                         : string;
begin
    selectfile(edtpptFilename, '*.ppt|*.ppt');
    pdfFileName := edtpptFilename.Text;
    edtpptpdf.Text := ChangeFileExt(pdfFileName, '.pdf');
    GetFileInfo(pdfFileName);

end;

procedure TFrmwordtopdf.Button9Click(Sender: TObject);
begin
    savefile(edtpptpdf, '*.pdf|*.pdf', '.pdf');
end;

procedure TFrmwordtopdf.Button13Click(Sender: TObject);
var
    pdfFileName                         : string;
begin
    selectfile(edtpic, '*.jpg|*.jpg|*.bmp|*.bmp|*.wmf|*.wmf|*.emf|*.emf');
    pdfFileName := edtpic.Text;
    GetFileInfo(pdfFileName);
    edtpicpdf.Text := ChangeFileExt(pdfFileName, '.pdf');

end;

procedure TFrmwordtopdf.Button15Click(Sender: TObject);
begin
    savefile(edtpicpdf, '*.pdf|*.pdf', '.pdf');
end;

procedure TFrmwordtopdf.btnpicpdfClick(Sender: TObject);
    function picsetistrue(var wordFilename, pdfFileName: string):
            Boolean;
    var
        str                             : string;
    begin
        result := false;
        wordFilename := edtpic.Text;
        if wordFilename = '' then
        begin
            raise exception.Create('Picture files can''t for empty');
        end;
        if not fileexists(wordFilename) then
        begin
            raise exception.CreateFmt('%sPicture file does not exist',
                [wordFilename]);
        end;
        pdfFileName := edtpicpdf.Text;
        if pdfFileName = '' then
        begin
            raise exception.Create('pdfFiles can''t for empty');
        end;
        str := Format('%s File already exists, is deleted?', [pdfFileName]);
        if fileexists(pdfFileName) then
        begin
            if not ansker_showmessage(str, str) then exit;
            if not deletefile(pdfFileName) then
                raise
                    exception.CreateFmt('%sDocument file already exists, cannot be removed!',
                    [pdfFileName]);
        end;
        CompressionQuality := TrackBar1.Position;
        result := True;
    end;

var
    pdfFileName, wordFilename           : string;
    idx                                 : integer;
begin
    if not picsetistrue(wordFilename, pdfFileName) then exit;

    //btnpicpdf.Enabled := false;
    try

        idx := rgpage.ItemIndex;
        onePICTOPDF(idx, wordFilename, pdfFileName);

    finally
        //btnpicpdf.Enabled := True;
    end;
end;

procedure TFrmwordtopdf.Button12Click(Sender: TObject);
begin
    self.PageControl1.ActivePageIndex := 0;
end;

procedure TFrmwordtopdf.btnregClick(Sender: TObject);
var
    FrmRegPass                          : TFrmRegPass;
begin
    FrmRegPass := TFrmRegPass.Create(nil);
    self.btnreg.Visible := not (FrmRegPass.showmodal = mrok);
    if not self.btnreg.Visible then
    begin

    end;
    FrmRegPass.Free;
end;

procedure TFrmwordtopdf.btnhelpClick(Sender: TObject);
begin
    //runfile(ChangeFileExt(application.ExeName, '.chm'), 'open');
    runfile(url, '');
end;

procedure TFrmwordtopdf.Button14Click(Sender: TObject);
begin
    self.PageControl1.ActivePageIndex := 0;
end;

procedure TFrmwordtopdf.btnBackClick(Sender: TObject);
begin
    self.PageControl1.ActivePageIndex := 0;
end;

procedure TFrmwordtopdf.Timer1Timer(Sender: TObject);
begin
    if (lbltime.Font.Color = clwhite) then
    begin
        lbltime.Font.Color := clred;
    end
    else
    begin
        lbltime.Font.Color := clwhite;
    end;
end;

procedure TFrmwordtopdf.btnWordtoPDFClick(Sender: TObject);
var
    tag                                 : integer;
begin
    tag := (Sender as TBitBtn).tag;
    self.PageControl1.ActivePageIndex := tag;
    //scaleZoom:=StrTofloat(edit1.Text);
end;

procedure TFrmwordtopdf.Image1Click(Sender: TObject);
begin
    runfile(url, '');
end;

procedure TFrmwordtopdf.lbltimeClick(Sender: TObject);
begin
    runfile(url, '');
end;

procedure TFrmwordtopdf.FormShow(Sender: TObject);
    function GetmyComputerName(): string;
    var
        ComputerName                    : array[0..MAX_COMPUTERNAME_LENGTH + 1]
            of char;
        sComputerName                   : string;
        lpSize                          : DWord;

    begin
        lpSize := MAX_COMPUTERNAME_LENGTH + 1;
        if GetComputerName(@ComputerName, lpSize) then
        begin
            sComputerName := ComputerName;
        end
        else
        begin
            sComputerName := '';
        end;
        //   Result   :=   sResult   ;
        result := sComputerName;
    end;
begin
    AppgetSet();
    edtUser.Text := GetmyComputerName();
    TempPath := GetTemPath() + 'gisoracle\';
    //showmessage(TempPath);

end;

procedure TFrmwordtopdf.Button4Click(Sender: TObject);
begin
    showmessage(GetWindowsVersion());
end;

procedure TFrmwordtopdf.tbWordToPDFClick(Sender: TObject);
var
    tag                                 : integer;
begin
    tag := (Sender as TToolButton).tag;
    self.PageControl1.ActivePageIndex := tag;
    GBRight.Parent := self.PageControl1.Pages[tag];
    //scaleZoom:=StrTofloat(edit1.Text);
end;
{var
    progressBarRect                     : TRect; // 进度条组件的尺寸}

procedure TFrmwordtopdf.StatusBar1DrawPanel(StatusBar: TStatusBar;
    Panel: TStatusPanel; const Rect: TRect);
begin
    // progressBarRect := Rect;
    utMyProgress.progressBarRect := Rect;
    utMyProgress.StatusBar1 := StatusBar1;

end;

procedure TFrmwordtopdf.Button11Click(Sender: TObject);
var
    i                                   : integer;
begin
    utMyProgress.initProgressBar(10000);
    for i := 1 to 10000 do
    begin
        utMyProgress.ProgressStep()
    end;
    MessageDlg('演示操作已经完成!', mtInformation, [mbOK], 0);
    utMyProgress.FreeProgressStep();
end;

procedure TFrmwordtopdf.tbSetWaterMakClick(Sender: TObject);
begin
    FrmSetWaterMark.Show();
end;

procedure TFrmwordtopdf.tbHelpClick(Sender: TObject);
begin
    //
    //runfile('http://www.pdfgolds.com/help', '');

    runfile('','');
end;

procedure TFrmwordtopdf.sbregisteredClick(Sender: TObject);
var
    FrmRegPass                          : TFrmRegPass;
begin
    FrmRegPass := TFrmRegPass.Create(nil);
    self.sbregistered.Visible := not (FrmRegPass.showmodal = mrok);
    TbBuy.Visible:=self.sbregistered.Visible;
    if not self.btnreg.Visible then
    begin

    end;
    FrmRegPass.Free;
end;

procedure TFrmwordtopdf.tbAboutClick(Sender: TObject);
var
    FrmAboutBox                         : TFrmAboutBox;
begin
    FrmAboutBox := TFrmAboutBox.Create(nil);
    FrmAboutBox.showmodal;
    FrmAboutBox.Free;

end;

procedure TFrmwordtopdf.TbBuyClick(Sender: TObject);
var
    str                                 : string;
begin
    str := 'http://www.pdfgolds.com/register.html';
    str:='';
    runfile(str, '');

end;

procedure TFrmwordtopdf.btnexpClick(Sender: TObject);
    procedure Runword();
    begin
        if exe_is_running('winword.exe') then
        begin 
                       
                    
                    

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
****-学matlab符号计算-Matlab发布时间:2022-07-18
下一篇:
matlab-图像处理-边缘检测算法五种发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap