Universal Document Converter
fCoder SIAについて


      Video tutorial
Show tutorial

Main page>Developer Solutions>Examples>Delphi>Visio Diagrams to TIFF

Converting Visio Diagrams to TIFF

//////////////////////////////////////////////////////////////////////////////////////////////////// // This example was designed for using in Delphi 7 or higher. // // 1. Microsoft Visio 2002 or above should be installed and activated on your PC. // // 2. Universal Document Converter 5.2 or above should be installed, too. // // 3. Add "Universal Document Converter Type Library" and "Microsoft Visio XX.0 Object Library" type libraries to the project. // XX is the Microsoft Office version installed on your computer. // // Delphi 7: // Use the Project | Import Type Library menu. // Delphi 2006 or latter: // Use the Component | Import Component menu. // // Clear the "Generate Component Wrapper" checkbox and click the "Create Unit" button (Delphi 7) or // select the "Create Unit" option (Delphi 2006 or latter). // // 4. Notice that the number of Microsoft Visio's method parameters may depend on the Office version. // //////////////////////////////////////////////////////////////////////////////////////////////////// program VisioToTIFF; {$APPTYPE CONSOLE} uses SysUtils, Variants, Windows, Dialogs, ActiveX, UDC_TLB, Visio_TLB; procedure PrintVisioToTIFF(VisioFilePath: string); var objUDC: IUDC; Printer: IUDCPrinter; Profile: IProfile; VisioApp: IVApplication; Document: IVDocument; Flags: SmallInt; begin //Create a UDC object and get its interfaces objUDC := CoAPIWrapper.Create; Printer := objUDC.get_Printers('Universal Document Converter'); Profile := Printer.Profile; //Use Universal Document Converter API to change settings of converterd document //Load profile located in folder "%APPDATA%\UDC Profiles". //Value of %APPDATA% variable should be received using Windows API's SHGetSpecialFolderPath //or JCL's JclSysInfo.GetAppdataFolder function. //Or you can move default profiles into a folder you prefer. Profile.Load('Drawing to TIFF.xml'); Profile.OutputLocation.Mode := LM_PREDEFINED; Profile.OutputLocation.FolderPath := 'c:\UDC Output Files'; Profile.PostProcessing.Mode := PP_OPEN_FOLDER; //Run Microsoft Visio as COM-server VisioApp := CoVisioApplication.Create; VisioApp.Visible := True; //Open document from file Flags := visOpenRW or visOpenDontList or visOpenMacrosDisabled or visOpenHidden; Document := VisioApp.Documents.OpenEx(VisioFilePath, Flags); //Change document preferences for scaling it to page Document.PrintCenteredH := True; Document.PrintCenteredV := True; Document.PrintFitOnPages := True; //Print document Document.Printer := 'Universal Document Converter'; Document.Print(); //Close document Document.Saved := True; Document.Close(); //Close Visio VisioApp.Quit(); end; var TestFilePath: string; begin TestFilePath := ExtractFilePath(ParamStr(0)) + 'TestFile.vsd'; try CoInitialize(nil); try PrintVisioToTIFF(TestFilePath); finally CoUninitialize; end; except on E: Exception do MessageDlg(E.ClassName + ' : ' + E.Message, mtError, [mbOK], 0); end; end.

© fCoder SIA fCoder SIAについて | サイトマップ