faustf Posted January 15, 2015 Share Posted January 15, 2015 hi guy i have a big problem after upgrade autoit 3 at last stable version i have this error in mpdf_udf C:\Program Files\AutoIt3\Include\MPDF_UDF.au3" (825) : ==> Unknown function name.: $k += _Iif(($C >= $FirstChar) And ($C <= $LastChar), $Widths[$C], $MissingWidth) $k += ^ ERROR some one have solution or similar , thankzz so much Link to comment Share on other sites More sharing options...
JohnOne Posted January 15, 2015 Share Posted January 15, 2015 (edited) Do you understand what the error message means? I think it's about time you done a little thinking of your own after 4 years a member. Edited January 15, 2015 by JohnOne AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
faustf Posted January 15, 2015 Author Share Posted January 15, 2015 unknow function name , but i not create this udf Link to comment Share on other sites More sharing options...
guinness Posted January 15, 2015 Share Posted January 15, 2015 (edited) I agree with JohnOne, 4 years and you should be able to use some lateral thinking. Did you check the changelog for any mention of _Iif() OR search the Forum? I hope people give you time to perhaps find out the issue yourself, as this question is asked more often than I care to think. Edited January 15, 2015 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
faustf Posted January 15, 2015 Author Share Posted January 15, 2015 yea you have much reason , but i am not good programmer (little bit stupid ) , i saw, i must use a ternary , but i dont know how . also because, i not write a mpdf_udf.au3 ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetTextLength ; Description ...: Get the length of a string ; Syntax ........: _GetTextLength( $sText , $sFontAlias , $iFontSize ) ; Parameters ....: $sText - string value. ; $sFontAlias - string value. ; $iFontSize - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetTextLength($sText, $sFontAlias, $iFontSize) Local $k = StringInStr($_sFONTNAME, "<" & $sFontAlias & ">") Local $C Local $l = StringLen($sText) Local $j = 0 If $k > 0 Then $k += StringLen($sFontAlias) + 2 For $i = 1 To $l $C = Asc(StringMid($sText, $i, 1)) $k += _Iif(($C >= $FirstChar) And ($C <= $LastChar), $Widths[$C], $MissingWidth) If $C = 32 Then $j += 1 Next EndIf Return __ToUser((($k * $iFontSize / 1000) + ($j * $_WordSpacing) + ($l * $_CharSpacing)) * ($_TextScaling / 100)) EndFunc ;==>_GetTextLength Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted January 15, 2015 Moderators Share Posted January 15, 2015 faustf,Try replacing the _Iif line with this one: $k += ( ( ($C >= $FirstChar) And ($C <= $LastChar) ) ? ( $Widths[$C] ) : ( $MissingWidth) )M23 faustf 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
faustf Posted January 15, 2015 Author Share Posted January 15, 2015 (edited) now give me this error Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop "C:\Program Files\AutoIt3\Include\MPDF_UDF.au3" (250) : ==> Unknown function name.: __ToBuffer("<<" & _Iif($_sFONT <> "", "/Font<<" & $_sFONT & ">>", "") & "/ProcSet [/PDF/Text" & _Iif($_Image <> "", "/ImageB/ImageC/ImageI", "") & "]" & _Iif(($_Image <> "") Or ($_sObject <> ""), "/XObject <<" & $_Image & $_sObject & ">>", "") & ">>") __ToBuffer("<<" & ^ ERROR this is a udf expandcollapse popup#region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y #AutoIt3Wrapper_AU3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** #include-once #include <GDIPlus.au3> #include <Misc.au3> #include <File.au3> ; #INDEX# ======================================================================================================================= ; Title .........: MIPDF ; AutoIt Version : 3.3.6.1 ; Description ...: Generate pdf using just AutoIt functions. ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Version .......: 1.0.3 ; Last Rev. .....: August 10, 2011 ; =============================================================================================================================== ; #CHANGES# ===================================================================================================================== ; 1.0.3 Rewrote _LoadResImage function - optimize for speed (GDI+ stuff) ; Thanks to xavierh for finding a missing space in the _LoadFontTT function (even it looks insignificant, that solved ; an issue with text justification when using Adobe Reader) ; ------------------------------------------------------------------------------------------------------------------------------- ; 1.0.2 Fixed a bug (a big one) related with objects. Foxit Reader worked well, but Adobe Reader gave some errors. Now both ; work fine. ; Added individual page rotation ; Dennis Sandstrom (aka StuffByDennis) added two more functions (_Draw_Path and _Draw_Polygon) ; ------------------------------------------------------------------------------------------------------------------------------- ; 1.0.1 Added more page formats ; Added two more fonts (Calibri and Garamond) ; Changed $PDF_PAGE_A4/~ to "a4","letter" etc (it's not case-sensitive) ; Fixed Txt2PDF function from the example. ; Added another function for table. ; ------------------------------------------------------------------------------------------------------------------------------- ; 1.0.0 Fixed the name af the saved pdf ; =============================================================================================================================== ; #CURRENT# ===================================================================================================================== ; _BeginPage ; _ClosePDFFile ; _DrawArc ; _DrawCircle ; _DrawCurve ; _DrawLine ; _DrawText ; _Draw_Path ; _Draw_Polygon ; _Draw_Rectangle ; _EndObject ; _EndPage ; _GetMargin ; _GetPageHeight ; _GetPageWidth ; _GetTextLength ; _GetUnit ; _InitPDF ; _InsertDCube ; _InsertDPie ; _InsertImage ; _InsertRenderedText ; _LineTo ; _LoadFontStandard ; _LoadFontTT ; _LoadResImage ; _MoveTo ; _OpenAfter ; _Pages ; _Paragraph ; _Path ; _Rectangle ; _SetCharSpacing ; _SetColourFill ; _SetColourStroke ; _SetDash ; _SetKeywords ; _SetLayoutMode ; _SetLineCap ; _SetLineJoin ; _SetLineWidth ; _SetMargin ; _SetMiterLimit ; _SetOrientation ; _SetPageHeight ; _SetPageWidth ; _SetPaperSize ; _SetSubject ; _SetTextHorizontalScaling ; _SetTextRenderingMode ; _SetTextRiseMode ; _SetTitle ; _SetUnit ; _SetWordSpacing ; _SetZoomMode ; _StartObject ; =============================================================================================================================== #region CONSTANTS Global $PDF_VERSION = "%PDF-1.5" & @CRLF & "%" & ChrW(199) & ChrW(200) & ChrW(201) & ChrW(202) Global $PDF_AUTHOR = "Mihai Iancu" Global $PDF_CREATOR = "MIPDF" Global $PDF_COPYRIGHT = "© 1973-" & @YEAR & " Mihai Iancu" Global $PDF_TITLE = "" Global $PDF_SUBJECT = "" Global $PDF_KEYWORDS = "" Global $PDF_NAME = "" Global Const $PDF_STYLE_NONE = 0x0 Global Const $PDF_STYLE_STROKED = 0x1 Global Const $PDF_STYLE_CLOSED = 0x2 Global Const $PDF_STYLE_FILLED = 0x4 Global Const $PDF_FONT_NORMAL = "" Global Const $PDF_FONT_BOLD = ",Bold" Global Const $PDF_FONT_ITALIC = ",Italic" Global Const $PDF_FONT_BOLDITALIC = ",BoldItalic" Global $PDF_FONT_STD_HELVETICA = "Helvetica" Global $PDF_FONT_STD_COURIER = "Courier" Global $PDF_FONT_STD_SYMBOL = "Symbol" Global $PDF_FONT_STD_ZAPFDINGBATS = "ZapfDingbats" Global $PDF_FONT_STD_ARIAL = "Helvetica";looks the same Global $PDF_FONT_STD_TIMES = "Times Roman" Global $PDF_FONT_COURIER = $PDF_FONT_STD_COURIER & " New" Global $PDF_FONT_ARIAL = $PDF_FONT_STD_ARIAL Global $PDF_FONT_TIMES = "Times New Roman" Global $PDF_FONT_SYMBOL = $PDF_FONT_STD_SYMBOL Global $PDF_FONT_CALIBRI = "Calibri" Global $PDF_FONT_GARAMOND = "Garamond" Global Const $PDF_ALIGN_LEFT = 1 Global Const $PDF_ALIGN_RIGHT = 2 Global Const $PDF_ALIGN_CENTER = 3 Global Const $PDF_UNIT_PT = 1 Global Const $PDF_UNIT_INCH = 2 Global Const $PDF_UNIT_MM = 4 Global Const $PDF_UNIT_CM = 8 Global Const $PDF_ZOOM_FULLPAGE = 0 Global Const $PDF_ZOOM_FULLWIDTH = 1 Global Const $PDF_ZOOM_REAL = 2 Global Const $PDF_ZOOM_DEFAULT = 4 Global Const $PDF_ZOOM_CUSTOM = 8 Global Const $PDF_LAYOUT_SINGLE = 0 Global Const $PDF_LAYOUT_CONTINOUS = 1 Global Const $PDF_LAYOUT_TWO = 2 Global Const $PDF_LAYOUT_DEFAULT = 4 Global Const $PDF_ORIENTATION_PORTRAIT = 0 Global Const $PDF_ORIENTATION_LANDSCAPE = 1 Global $PDF_OBJECT_NAME = "" Global $PDF_OBJECT_OPTIONS = "" Global Const $PDF_OBJECT_NONE = 0 Global Const $PDF_OBJECT_FIRSTPAGE = 0x1 Global Const $PDF_OBJECT_EVENPAGES = 0x2 Global Const $PDF_OBJECT_ODDPAGES = 0x4 Global Const $PDF_OBJECT_NOTFIRSTPAGE = 0x8 Global Const $PDF_OBJECT_ALLPAGES = BitAND($PDF_OBJECT_EVENPAGES, $PDF_OBJECT_ODDPAGES, $PDF_OBJECT_FIRSTPAGE) Global $BaseFont Global $FirstChar Global $LastChar Global $Param Global $MissingWidth Global $Widths[256] Global $__SetUnit Global $_PaperSize = "A4" Global $_Orientation = $PDF_ORIENTATION_PORTRAIT Global $__SetMargin = 0 Global $_Pages = 0 Global $_CharSpacing Global $_WordSpacing Global $_TextScaling Global $_PageWidth Global $_PageHeight Global $_FileName Global $_Offset = 0 Global $_Font = "" Global $_ZoomMode Global $_LayoutMode Global $_sPage = " " Global $_sFONT Global $_sFONTNAME Global $_Image = "" Global $_sObject Global $_iResource Global $_iPages Global $_iObject = 0 Global $_iMaxObject Global $_iTmpOffset Global $_iImageW Global $_iImageH Global $_Buffer = "" Global $_bOpen = False Global $aXREF[1000] Global $aOBJECTS[2] = [$PDF_OBJECT_NAME, $PDF_OBJECT_OPTIONS] #endregion CONSTANTS #region FUNCTIONS ; #FUNCTION# ==================================================================================================================== ; Name ..........: _BeginPage ; Description ...: Begin a new page ; Syntax ........: _BeginPage( [ $iRotate ] ) ; Parameters ....: $iRotate - [optional] multiple of 90 (default = 0). ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: July 05, 2011 ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _BeginPage($iRotate = 0) Local $intPage If BitAND($iRotate <> 0, Mod($iRotate, 90) <> 0, $iRotate <> "") Then MsgBox(48, "Error", "When seting rotation of the page, it has to be multiple of 90 or 0!" & @CRLF & "Try again.", 3) Exit EndIf $_Pages += 1 $intPage = __InitObj() __ToBuffer("<</Type /Page /Parent 3 0 R /Contents " & $intPage + 1 & " 0 R /Rotate " & $iRotate & ">>") __EndObj() $_sPage &= $intPage & " 0 R " __InitObj($intPage + 1) __ToBuffer("<< /Length " & $intPage + 2 & " 0 R >>" & @CRLF & "stream") $_iTmpOffset = $_Offset __InsertObjectOnPage() $_CharSpacing = 0 $_WordSpacing = 0 $_TextScaling = 100 Return $_Pages EndFunc ;==>_BeginPage ; #FUNCTION# ==================================================================================================================== ; Name ..........: _ClosePDFFile ; Description ...: Write the buffer to the pdf ; Syntax ........: _ClosePDFFile( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: _InitPDF() ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _ClosePDFFile() $_iResource = __InitObj(4) __ToBuffer("<<" & _ _Iif($_sFONT <> "", "/Font<<" & $_sFONT & ">>", "") & _ "/ProcSet [/PDF/Text" & _Iif($_Image <> "", "/ImageB/ImageC/ImageI", "") & "]" & _ _Iif(($_Image <> "") Or ($_sObject <> ""), "/XObject <<" & $_Image & $_sObject & ">>", "") & ">>") __EndObj() $_iPages = __InitObj(3) __ToBuffer("<</Type /Pages /Count " & $_Pages & " /MediaBox [0 0 " & __ToStr($_PageWidth, 1) & " " & __ToStr($_PageHeight, 1) & "] " & _ "/CropBox [" & __ToStr($__SetMargin) & " " & __ToStr($__SetMargin) & " " & __ToStr($_PageWidth - $__SetMargin, 1) & " " & __ToStr($_PageHeight - $__SetMargin, 1) & "] " & _ _Iif($_Orientation = $PDF_ORIENTATION_LANDSCAPE, "/Rotate -90", "") & "/Kids [" & $_sPage & "] " & "/Resources " & $_iResource & " 0 R>>") __EndObj() __ToBuffer("xref") __ToBuffer("0 " & $_iMaxObject + 1) __ToBuffer("0000000000 65535 f") For $i = 1 To $_iMaxObject __ToBuffer($aXREF[$i]) Next __ToBuffer("trailer" & @CRLF & _ "<< /Size " & $_iMaxObject + 1 & "/Info 1 0 R" & "/Root 2 0 R" & ">>") __ToBuffer("startxref" & @CRLF & StringLen("startxref" & @CRLF & $_Buffer & "%%EOF" & @CRLF) + 6) $_FileName = FileOpen($PDF_NAME, 18) FileWrite($_FileName, $_Buffer & "%%EOF" & @CRLF) FileClose($_FileName) If $_bOpen Then ShellExecute($PDF_NAME) EndFunc ;==>_ClosePDFFile ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Draw_Path ; Description ...: Draws a N segmented line, each line segment is expressed as N repeating sub segments. ; Each sub segment has its own "PEN DOWN" length, color and cap type followed by a "PEN UP" length ; Syntax ........: _Draw_Path( ByRef Const $iXY, ByRef Const $iDU ) ; Parameters ....: $iXY is a 2 dimensional array where: ; $iXY[0][0] contains the number of points in the path ; $iXY[0][1] contains the coordinate type 0 = absolute to 0,0 of page, 1=relative to previous coordinate ; $iXY[N][0] X or distance from left of page or previous point ; $iXY[N][1] Y or distance from bottom of page or previous point ; : $iDU is a 1 or 2 dimensional array where: ; for a solid line $iDU[0]= Line width ; $iDU[1]= Line cap type ; $iDU[2]= Line color ; for a "DASHED" line $iDU[0][0]= number of sub segments before repeating ; $iDU[N][0]= Number of "PEN DOWN" units for the Nth sub segment ; $iDU[N][1]= Line width for the Nth sub segment ; $iDU[N][2]= Line cap type for the Nth sub segment ; $iDU[N][3]= Line color for the Nth sub segment ; $iDU[N][4]= Number of "PEN UP" units for the Nth sub segment ; Return values .: None ; Author(s) .....: StuffByDennis ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func _Draw_Path(ByRef Const $iXY, ByRef Const $iDU) Local $i, $j, $X, $Y, $X0, $X1, $Y0, $Y1, $ODX, $ODY, $DX, $DY, $Theta, $SIN, $COS _SetDash(0) $X0 = 0 $Y0 = 0 If UBound($iDU, 0) = 1 Then _SetLineCap($iDU[1]) _SetLineWidth($iDU[0]) _SetColourStroke($iDU[2]) For $i = 1 To $iXY[0][0] - 1 If $iXY[0][1] = 0 Then $X0 = $iXY[$i][0] $Y0 = $iXY[$i][1] $X1 = $iXY[$i + 1][0] $Y1 = $iXY[$i + 1][1] Else $X0 += $iXY[$i][0] $Y0 += $iXY[$i][1] $X1 = $X0 + $iXY[$i + 1][0] $Y1 = $Y0 + $iXY[$i + 1][1] EndIf _MoveTo($X0, $Y0) _LineTo($X1, $Y1, $PDF_STYLE_STROKED) Next Else For $i = 1 To $iXY[0][0] - 1 If $iXY[0][1] = 0 Then $X0 = $iXY[$i][0] $Y0 = $iXY[$i][1] $X1 = $iXY[$i + 1][0] $Y1 = $iXY[$i + 1][1] Else $X0 += $iXY[$i][0] $Y0 += $iXY[$i][1] $X1 = $X0 + $iXY[$i + 1][0] $Y1 = $Y0 + $iXY[$i + 1][1] EndIf $ODX = $X1 - $X0 $ODY = $Y1 - $Y0 $X = $X0 $Y = $Y0 If $ODX <> 0 And $ODY <> 0 Then $Theta = ATan($ODY / $ODX) $SIN = -Sin($Theta) $COS = -Cos($Theta) EndIf $j = 1 Select Case $ODY = 0 ; Horizontal Select Case $ODX < 0;Due-West While $X > $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y0) $X -= $iDU[$j][0] If $X < $X1 Then $X = $X1 _LineTo($X, $Y1, $PDF_STYLE_STROKED) $X -= $iDU[$j][4] $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case Else ;Due-East While $X < $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y0) $X += $iDU[$j][0] If $X > $X1 Then $X = $X1 _LineTo($X, $Y1, $PDF_STYLE_STROKED) $X += $iDU[$j][4] $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd EndSelect Case $ODY > 0 ; North Select Case $ODX = 0 ;Due North While $Y < $Y1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $Y += $iDU[$j][0] If $Y > $Y1 Then $Y = $Y1 _LineTo($X, $Y, $PDF_STYLE_STROKED) $Y += $iDU[$j][4] $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case $ODX < 0;North-West While $Y < $Y1 And $X > $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $DX = -$iDU[$j][0] * $COS If $X - $DX < $X1 Then $X = $X1 + $DX $DY = $iDU[$j][0] * $SIN If $Y + $DY > $Y1 Then $Y = $Y1 - $DY _LineTo($X - $DX, $Y + $DY, $PDF_STYLE_STROKED) $X = $X - $DX + $iDU[$j][4] * $COS $Y = $Y + $DY + $iDU[$j][4] * $SIN $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case Else;North-East While $Y < $Y1 And $X < $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $DX = -$iDU[$j][0] * $COS If $X + $DX > $X1 Then $X = $X1 - $DX $DY = -$iDU[$j][0] * $SIN If $Y + $DY > $Y1 Then $Y = $Y1 - $DY _LineTo($X + $DX, $Y + $DY, $PDF_STYLE_STROKED) $X += $DX - $iDU[$j][4] * $COS $Y += $DY - $iDU[$j][4] * $SIN $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd EndSelect Case Else ; South Select Case $ODX = 0;Due South While $Y > $Y1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $Y -= $iDU[$j][0] If $Y < $Y1 Then $Y = $Y1 _LineTo($X, $Y, $PDF_STYLE_STROKED) $Y -= $iDU[$j][4] $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case $ODX > 0;South-East While $Y > $Y1 And $X < $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $DX = -$iDU[$j][0] * $COS If $X + $DX > $X1 Then $X = $X1 - $DX $DY = $iDU[$j][0] * $SIN If $Y - $DY < $Y1 Then $Y = $Y1 + $DY _LineTo($X + $DX, $Y - $DY, $PDF_STYLE_STROKED) $X = $X + $DX - $iDU[$j][4] * $COS $Y = $Y - $DY - $iDU[$j][4] * $SIN $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case Else ; South-West While $Y > $Y1 And $X > $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $DX = -$iDU[$j][0] * $COS If $X - $DX < $X1 Then $X = $X1 + $DX $DY = -$iDU[$j][0] * $SIN If $Y - $DY < $Y1 Then $Y = $Y1 + $DY _LineTo($X - $DX, $Y - $DY, $PDF_STYLE_STROKED) $X = $X - $DX + $iDU[$j][4] * $COS $Y = $Y - $DY + $iDU[$j][4] * $SIN $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd EndSelect EndSelect Next EndIf _SetLineCap(0) _SetLineWidth(0) _SetColourStroke(0) EndFunc ;==>_Draw_Path ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Draw_Polygon ; Description ...: Draws a N sided filled polygon ; The perimiter is drawn by the _Draw_Path function. ; Syntax ........: _Draw_Polygon( ByRef Const $iXY, $iFC, ByRef Const $iDU ) ; Parameters ....: $iXY (See _Draw_Path for description) ; : $iFC polygon fill color ; : $iDU (See _Draw_Path for description) ; Return values .: None ; Author(s) .....: StuffByDennis ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func _Draw_Polygon(ByRef Const $iXY, $fillColor, $iDU) Local $i, $X0, $Y0 _SetLineWidth(0) _SetColourFill($fillColor) __ToBuffer("n") $X0 = $iXY[1][0] $Y0 = $iXY[1][1] _MoveTo($X0, $Y0) For $i = 2 To $iXY[0][0] If $iXY[0][1] = 0 Then $X0 = $iXY[$i][0] $Y0 = $iXY[$i][1] Else $X0 += $iXY[$i][0] $Y0 += $iXY[$i][1] EndIf _LineTo($X0, $Y0, $PDF_STYLE_NONE) Next _Path($PDF_STYLE_STROKED) _SetLineWidth(0) If $iDU[1][0] = 0 Then Return _Draw_Path($iXY, $iDU) EndFunc ;==>_Draw_Polygon ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Draw_Rectangle ; Description ...: Draw _Rectangle ; Syntax ........: _Draw_Rectangle( $iX , $iY , $iW , $iH [, $sStyle [, $iRadius [, $lFillColour [, ; $iBorderWidth ]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $iW - integer value. ; $iH - integer value. ; $sStyle - [optional] string value. ; $iRadius - [optional] integer value. ; $iFillColour - [optional] RGB value. ; $iBorderWidth - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Draw_Rectangle($iX, $iY, $iW, $iH, $sStyle = $PDF_STYLE_STROKED, $iRadius = 0, $iFillColour = 0, $iBorderWidth = 0.05) _SetLineWidth($iBorderWidth) _SetColourFill($iFillColour) _Rectangle($iX, $iY, $iW, $iH, $sStyle, $iRadius) _SetColourFill(0) _SetLineWidth(0) EndFunc ;==>_Draw_Rectangle ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawCircle ; Description ...: Draw circle ; Syntax ........: _DrawCircle( $x , $y , $iRadius [, $sStyle = $PDF_STYLE_STROKED ] ) ; Parameters ....: $x - unknown value. ; $y - unknown value. ; $iRadius - unknown value. ; $sStyle - [optional] string value. ; $PDF_STYLE_STROKED - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawCircle($X, $Y, $iRadius, $sStyle = $PDF_STYLE_STROKED) _MoveTo($X, $Y - $iRadius) __Curve($X + 0.55 * $iRadius, $Y - $iRadius, $X + $iRadius, $Y - 0.55 * $iRadius, $X + $iRadius, $Y, $PDF_STYLE_NONE) __Curve($X + $iRadius, $Y + 0.55 * $iRadius, $X + 0.55 * $iRadius, $Y + $iRadius, $X, $Y + $iRadius, $PDF_STYLE_NONE) __Curve($X - 0.55 * $iRadius, $Y + $iRadius, $X - $iRadius, $Y + 0.55 * $iRadius, $X - $iRadius, $Y, $PDF_STYLE_NONE) __Curve($X - $iRadius, $Y - 0.55 * $iRadius, $X - 0.55 * $iRadius, $Y - $iRadius, $X, $Y - $iRadius, $PDF_STYLE_NONE) _Path($sStyle) EndFunc ;==>_DrawCircle ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawCurve ; Description ...: Draw a curved line ; Syntax ........: _DrawCurve( $iX , $iY , $iX1 , $iY1 , $iX2 , $iY2 , $iX3 , $iY3 [, $lStyle , $PDF_STYLE_STROKED [, $iDash1 [, ; $iDash2 ]]] ) ; Parameters ....: $iX1 - X value of the first point. ; $iY1 - Y value of the first point. ; $iX2 - X value of the second point. ; $iY2 - Y value of the second point. ; $iX3 - X value of the third point. ; $iY3 - Y value of the third point. ; $iX4 - X value of the fourth point. ; $iY4 - Y value of the fourth point. ; $lStyle - [optional] style of the line (default = STROKED) ; $iDash1 - [optional] integer value. ; $iDash2 - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawCurve($iX1, $iY1, $iX2, $iY2, $iX3, $iY3, $iX4, $iY4, $lStyle = $PDF_STYLE_STROKED, $iDash1 = 0, $iDash2 = 0) If $iDash1 = 0 And $iDash2 = 0 Then _SetDash(0) Else _SetDash($iDash1, $iDash2) EndIf _MoveTo($iX1, $iY1) __Curve($iX2, $iY2, $iX3, $iY3, $iX4, $iY4, $lStyle) _SetDash(0) EndFunc ;==>_DrawCurve ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawLine ; Description ...: Draw a line ; Syntax ........: _DrawLine( $iXStart , $iYStart , $iXEnd , $iYEnd [, $sStyle , $PDF_STYLE_STROKED [, $iLineCap [, ; $iLineWidth [, $lColourStroke [, $iDash1 [, $iDash2 ]]]]]] ) ; Parameters ....: $iXStart - integer value. ; $iYStart - integer value. ; $iXEnd - integer value. ; $iYEnd - integer value. ; $sStyle - [optional] string value (default = STROKED). ; $iLineCap - [optional] integer value. ; $iLineWidth - [optional] integer value. ; $lColourStroke - [optional] unknown value. ; $iDash1 - [optional] integer value. ; $iDash2 - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawLine($iXStart, $iYStart, $iXEnd, $iYEnd, $sStyle = $PDF_STYLE_STROKED, $iLineCap = 1, $iLineWidth = 0.05, $lColourStroke = 0x000000, $iDash1 = 0, $iDash2 = 0) If $iDash1 = 0 And $iDash2 = 0 Then _SetDash(0) Else _SetDash($iDash1, $iDash2) EndIf _SetLineCap($iLineCap) _SetLineWidth($iLineWidth) _SetColourStroke($lColourStroke) _MoveTo($iXStart, $iYStart) _LineTo($iXEnd, $iYEnd, $sStyle) _SetLineCap(0) _SetLineWidth(0) _SetColourStroke(0) _SetDash(0) EndFunc ;==>_DrawLine ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawText ; Description ...: Write text ; Syntax ........: _DrawText( $iX , $iY , $sText , $sFontAlias , $iFontSize [, $iAlign , $PDF_ALIGN_LEFT [, $iRotate ]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $sText - string value. ; $sFontAlias - string value. ; $iFontSize - integer value. ; $iAlign - [optional] integer value. ; $PDF_ALIGN_LEFT - unknown value. ; $iRotate - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawText($iX, $iY, $sText, $sFontAlias, $iFontSize, $iAlign = $PDF_ALIGN_LEFT, $iRotate = 0) Local $PI Local $sTeta Local $cTeta Local $C Local $l Switch $iAlign Case $PDF_ALIGN_LEFT Case $PDF_ALIGN_RIGHT $l = _GetTextLength($sText, $sFontAlias, $iFontSize) $iX -= $l Case $PDF_ALIGN_CENTER $l = _GetTextLength($sText, $sFontAlias, $iFontSize) $iX -= $l / 2 EndSwitch __ToBuffer("BT") __ToBuffer("/" & $sFontAlias & " " & __ToStr($iFontSize) & " Tf") If $iRotate <> 0 Then $PI = 3.141592 $C = $PI / 180 $sTeta = Sin($C * $iRotate) $cTeta = Cos($C * $iRotate) __ToBuffer(__ToStr($cTeta) & " " & __ToStr($sTeta) & " " & __ToStr(-$sTeta) & " " & __ToStr($cTeta) & " " & __ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " Tm") Else __ToBuffer(__ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " Td") EndIf __ToBuffer("(" & __ToPdfStr($sText) & ") Tj") __ToBuffer("ET") EndFunc ;==>_DrawText ; #FUNCTION# ==================================================================================================================== ; Name ..........: _EndObject ; Description ...: End editing the current object ; Syntax ........: _EndObject( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: _StartObject() ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _EndObject() $_iTmpOffset = $_Offset - $_iTmpOffset __ToBuffer("endstream") __EndObj() __InitObj() __ToBuffer($_iTmpOffset) __EndObj() EndFunc ;==>_EndObject ; #FUNCTION# ==================================================================================================================== ; Name ..........: _EndPage ; Description ...: End the currend page ; Syntax ........: _EndPage( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: _BeginPage() ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _EndPage() $_iTmpOffset = $_Offset - $_iTmpOffset __ToBuffer("endstream") __EndObj() ; Scrie dimensiunea __InitObj() __ToBuffer($_iTmpOffset) __EndObj() EndFunc ;==>_EndPage ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetMargin ; Description ...: Get the working area's margin ; Syntax ........: _GetMargin( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetMargin() Return $__SetMargin EndFunc ;==>_GetMargin ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetPageHeight ; Description ...: Get the height of the page ; Syntax ........: _GetPageHeight( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetPageHeight() Return $_PageHeight EndFunc ;==>_GetPageHeight ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetPageWidth ; Description ...: Get the width of the page ; Syntax ........: _GetPageWidth( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetPageWidth() Return $_PageWidth EndFunc ;==>_GetPageWidth ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetTextLength ; Description ...: Get the length of a string ; Syntax ........: _GetTextLength( $sText , $sFontAlias , $iFontSize ) ; Parameters ....: $sText - string value. ; $sFontAlias - string value. ; $iFontSize - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetTextLength($sText, $sFontAlias, $iFontSize) Local $k = StringInStr($_sFONTNAME, "<" & $sFontAlias & ">") Local $C Local $l = StringLen($sText) Local $j = 0 If $k > 0 Then $k += StringLen($sFontAlias) + 2 For $i = 1 To $l $C = Asc(StringMid($sText, $i, 1)) ;$k += _Iif(($C >= $FirstChar) And ($C <= $LastChar), $Widths[$C], $MissingWidth) $k += ( ( ($C >= $FirstChar) And ($C <= $LastChar) ) ? ( $Widths[$C] ) : ( $MissingWidth) ) If $C = 32 Then $j += 1 Next EndIf Return __ToUser((($k * $iFontSize / 1000) + ($j * $_WordSpacing) + ($l * $_CharSpacing)) * ($_TextScaling / 100)) EndFunc ;==>_GetTextLength ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetUnit ; Description ...: Get the unit used ; Syntax ........: _GetUnit( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetUnit() Local $lRet Switch $__SetUnit Case $PDF_UNIT_PT $lRet = 1 Case $PDF_UNIT_INCH $lRet = 72 Case $PDF_UNIT_CM $lRet = 72 / 2.54 Case $PDF_UNIT_MM $lRet = 72 / 25.4 EndSwitch Return $lRet EndFunc ;==>_GetUnit ; #FUNCTION# ==================================================================================================================== ; Name ..........: _InitPDF ; Description ...: Initialize the pdf ; Syntax ........: _InitPDF( [$sFileName] ) ; Parameters ....: $sFileName - [optional] string value. ; $PDF_NAME - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _InitPDF($sFileName = "") __ToBuffer($PDF_VERSION) $_iMaxObject = 0 __InitObj(1) __ToBuffer("<</Title(" & __ToPdfStr($PDF_TITLE) & ")/Author(" & __ToPdfStr($PDF_AUTHOR) & ")/Creator(" & __ToPdfStr($PDF_CREATOR) & ")/Producer(" & __ToPdfStr($PDF_COPYRIGHT) & ") /Keywords(" & __ToPdfStr($PDF_KEYWORDS) & ")/Subject(" & __ToPdfStr($PDF_SUBJECT) & ")/CreationDate(D:" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & "+02'00')/ModDate()>>") __EndObj() __InitObj(2) __ToBuffer("<</Type/Catalog/Pages 3 0 R") Switch $_LayoutMode Case $PDF_LAYOUT_SINGLE __ToBuffer("/PageLayout /SinglePage") Case $PDF_LAYOUT_CONTINOUS __ToBuffer("/PageLayout /OneColumn") Case $PDF_LAYOUT_TWO __ToBuffer("/PageLayout /TwoColumnLeft") EndSwitch Switch $_ZoomMode Case $PDF_ZOOM_FULLPAGE __ToBuffer("/OpenAction [1 0 R /Fit]") Case $PDF_ZOOM_FULLWIDTH __ToBuffer("/OpenAction [1 0 R null /FitH]") Case $PDF_ZOOM_REAL __ToBuffer("/OpenAction [1 0 R /XYZ null " & $_PageHeight & " 1]") Case Int($_ZoomMode) __ToBuffer("/OpenAction [1 0 R /XYZ null " & $_PageHeight & " " & StringReplace(StringFormat($_ZoomMode, "###0." & 2), ",", ".") / 100 & "]") EndSwitch __ToBuffer("/PageMode/UseNone/Lang (en) >>") __EndObj() $_iMaxObject = 4;4;VERIFICA AICIIIIIIIIIIIIIIIIIIIII $PDF_NAME = $sFileName EndFunc ;==>_InitPDF ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Insert3DCube ; Description ...: Insert a 3D shape ; Syntax ........: _Insert3DCube( $iX , $iY , $iW , $iH [, $iEndColour [, $fDepth [, $iRadius [, $iBorderWidth ]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $iW - integer value. ; $iH - integer value. ; $iEndColour - [optional] integer value. ; $fDepth - [optional] boolean value. ; $iRadius - [optional] integer value. ; $iBorderWidth - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Insert3DCube($iX, $iY, $iW, $iH, $iEndColour = 0x0000ff, $fDepth = 0.5, $iRadius = 0.1, $iBorderWidth = 0.02) Local $Ri, $Rf, $Rs, $Gi, $Gf, $Gs, $Bi, $Bf, $Bs, $m = $fDepth Local $lFillColour = 0x000000 $Bi = Mod($lFillColour, 256) $Gi = BitAND($lFillColour / 256, 255) $Ri = BitAND($lFillColour / 65536, 255) $Bf = Mod($iEndColour, 256) $Gf = BitAND($iEndColour / 256, 255) $Rf = BitAND($iEndColour / 65536, 255) $Bs = Abs($Ri - $Rf) / $m $Gs = Abs($Gi - $Gf) / $m $Rs = Abs($Bi - $Bf) / $m If $Rf < $Ri Then $Rs = -$Rs If $Gf < $Gi Then $Gs = -$Gs If $Bf < $Bi Then $Bs = -$Bs For $i = 0 To $fDepth Step 0.02 $Rf = $Ri + $Rs * $i $Gf = $Gi + $Gs * $i $Bf = $Bi + $Bs * $i Local $lFillColour2 = Dec(Hex($Bf, 2) & Hex($Gf, 2) & Hex($Rf, 2)) _SetColourStroke($lFillColour2) _SetColourFill($lFillColour2) _SetLineWidth($iBorderWidth) _Rectangle($iX + $fDepth - $i, $iY + $fDepth - $i, $iW, $iH, $PDF_STYLE_FILLED, $iRadius) _SetColourFill(0) _SetColourStroke(0) _SetLineWidth(0) Next EndFunc ;==>_Insert3DCube ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Insert3DPie ; Description ...: Draw a pie ; Syntax ........: _Insert3DPie( $iX , $iY [, $iRadius [, $iStartAngle [, $iEndAngle [, $iEndColour [, $fDepth [, $iRatio [, ; $bPie [, $iRotate [, $iQuality [, $sStyle , $PDF_STYLE_FILLED [, $iBorderWidth ]]]]]]]]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $iRadius - [optional] integer value. ; $iStartAngle - [optional] integer value. ; $iEndAngle - [optional] integer value. ; $iEndColour - [optional] integer value. ; $fDepth - [optional] boolean value. ; $iRatio - [optional] integer value. ; $bPie - [optional] binary value. ; $iRotate - [optional] integer value. ; $iQuality - [optional] integer value. ; $sStyle - [optional] string value. ; $iBorderWidth - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Insert3DPie($iX, $iY, $iRadius = 2.5, $iStartAngle = 0, $iEndAngle = 360, $iEndColour = 0x888888, $fDepth = 0.2, $iRatio = 1, $bPie = True, $iRotate = 0, $iQuality = 1, $sStyle = $PDF_STYLE_FILLED, $iBorderWidth = 0.02) Local $Ri, $Rf, $Rs, $Gi, $Gf, $Gs, $Bi, $Bf, $Bs, $m = $fDepth Local $lFillColour = 0x000000 $Bi = Mod($lFillColour, 256) $Gi = BitAND($lFillColour / 256, 255) $Ri = BitAND($lFillColour / 65536, 255) $Bf = Mod($iEndColour, 256) $Gf = BitAND($iEndColour / 256, 255) $Rf = BitAND($iEndColour / 65536, 255) $Bs = Abs($Ri - $Rf) / $m $Gs = Abs($Gi - $Gf) / $m $Rs = Abs($Bi - $Bf) / $m If $Rf < $Ri Then $Rs = -$Rs If $Gf < $Gi Then $Gs = -$Gs If $Bf < $Bi Then $Bs = -$Bs _SetLineWidth($iBorderWidth) Local $lFillColour2 For $i = 0 To $fDepth Step 0.02 $Rf = $Ri + $Rs * $i $Gf = $Gi + $Gs * $i $Bf = $Bi + $Bs * $i $lFillColour2 = Dec(Hex($Bf, 2) & Hex($Gf, 2) & Hex($Rf, 2)) _SetColourStroke($lFillColour2) _SetColourFill($lFillColour2) _SetLineWidth($iBorderWidth) _DrawArc($iX - $i, $iY - $i, $iRadius, $iStartAngle, $iEndAngle, $iRatio, $bPie, $iRotate, $iQuality, $sStyle) Next _SetColourStroke(0) _SetColourFill(0) _SetLineWidth(0) EndFunc ;==>_Insert3DPie ; #FUNCTION# ==================================================================================================================== ; Name ..........: _InsertImage ; Description ...: Insert a image in the pdf ; Syntax ........: _InsertImage( $sAlias , $iX , $iY [, $iW [, $iH ]] ) ; Parameters ....: $sAlias - string value. ; $iX - integer value. ; $iY - integer value. ; $iW - [optional] integer value. ; $iH - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _InsertImage($sAlias, $iX, $iY, $iW = 0, $iH = 0) If $iW = 0 And $iH = 0 Then $iW = $_iImageW / _GetUnit() $iH = $_iImageH / _GetUnit() EndIf __ToBuffer("q" & @CRLF & __ToStr(__ToSpace($iW)) & " " & " 0 0 " & __ToStr(__ToSpace($iH)) & " " & __ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " cm" & _ @CRLF & "/" & $sAlias & " Do" & @CRLF & "Q") EndFunc ;==>_InsertImage ; #FUNCTION# ==================================================================================================================== ; Name ..........: _InsertRenderedText ; Description ...: Insert rendered text ; Syntax ........: _InsertRenderedText( $iX , $iY , $sText , $sAlias [, $_FontSize [, $iScale [, $sAlign = $PDF_ALIGN_LEFT [, ; $iFillColour [, $iOutlineColour ]]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $sText - string value. ; $sAlias - string value. ; $_FontSize - [optional] unknown value. ; $iScale - [optional] integer value. ; $sAlign - [optional] string value. ; $iFillColour - [optional] RGB value. ; $iOutlineColour - [optional] RGB value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _InsertRenderedText($iX, $iY, $sText, $sAlias, $_FontSize = 64, $iScale = 100, $sAlign = $PDF_ALIGN_LEFT, $iFillColour = 0x996600, $iOutlineColour = 0x111111) _SetColourFill($iFillColour) _SetColourStroke($iOutlineColour) _SetTextRenderingMode(2) _SetTextHorizontalScaling($iScale) _DrawText($iX, $iY, $sText, $sAlias, $_FontSize, $sAlign) _SetTextRenderingMode(0) _SetTextHorizontalScaling(100) _SetColourFill(0) _SetColourStroke(0) EndFunc ;==>_InsertRenderedText ; #FUNCTION# ==================================================================================================================== ; Name ..........: _LineTo ; Description ...: Append straight line segment to path ; Syntax ........: _LineTo( $iX , $iY [, $sStyle = $PDF_STYLE_STROKED ] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $sStyle - [optional] string value. ; |$PDF_STYLE_STROKED ; $PDF_STYLE_FILLED ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _LineTo($iX, $iY, $sStyle = $PDF_STYLE_STROKED) __ToBuffer(__ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " l") _Path($sStyle) EndFunc ;==>_LineTo ; #FUNCTION# ==================================================================================================================== ; Name ..........: _LoadFontStandard ; Description ...: Load standard font (Type 1) ; Courier Helvetica Times-Roman Symbol ; Courier-Bold Helvetica-Bold Times-Bold ZapfDingbats ; Courier-Oblique Helvetica-Oblique Times-Italic ; Courier-BoldOblique Helvetica-BoldOblique Times-BoldItalic ; Syntax ........: _LoadFontStandard( $sAlias , $BaseFont [, $sOptions ] ) ; Parameters ....: $sAlias - an alias for the font, to use in the script. ; $BaseFont - one of the following ; |$PDF_FONT_STD_HELVETICA ; |$PDF_FONT_STD_COURIER ; |$PDF_FONT_STD_SYMBOL ; |$PDF_FONT_STD_ZAPFDINGBATS ; |$PDF_FONT_STD_ARIAL ; |$PDF_FONT_STD_TIMES ; $sOptions - [optional] style value. ; |$PDF_FONT_NORMAL = 0 ; |$PDF_FONT_BOLD = 1 ; |$PDF_FONT_ITALIC = 2 ; |$PDF_FONT_BOLDITALIC = 4 ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _LoadFontStandard($sAlias, $BaseFont, $sOptions = $PDF_FONT_NORMAL) Local $sTemp $BaseFont = StringReplace($BaseFont, " ", "") Switch $sOptions Case $PDF_FONT_BOLD $sTemp = ",Bold" Case $PDF_FONT_BOLDITALIC $sTemp = ",BoldItalic" Case $PDF_FONT_ITALIC $sTemp = ",Italic" EndSwitch Local $i = __InitObj() __ToBuffer("<< /Type/Font/Subtype/Type1/Name/" & $sAlias & "/BaseFont/" & $BaseFont & $sTemp & "/Encoding/WinAnsiEncoding >>") __EndObj() $_sFONT = $_sFONT & "/" & $sAlias & " " & $i & " 0 R " & @CRLF EndFunc ;==>_LoadFontStandard ; #FUNCTION# ==================================================================================================================== ; Name ..........: _LoadFontTT ; Description ...: Load one of the True Type Fonts included ; Syntax ........: _LoadFontTT( $sAlias , $BaseFont [, $sOptions] ) ; Parameters ....: $sAlias - string value. ; $BaseFont - one of the following: ; |$PDF_FONT_COURIER ; |$PDF_FONT_ARIAL ; |$PDF_FONT_TIMES ; |$PDF_FONT_SYMBOL ; $sOptions - [optional] font style (normal, bold, bold-italic). ; |$PDF_FONT_NORMAL = 0 ; |$PDF_FONT_BOLD = 1 ; |$PDF_FONT_ITALIC = 2 ; |$PDF_FONT_BOLDITALIC = 4 ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _LoadFontTT($sAlias, $BaseFont, $sOptions = $PDF_FONT_NORMAL) Local $sTemp = "" $_Font = $_Font + 1 $BaseFont = StringReplace($BaseFont, " ", "") Switch $BaseFont Case "TimesNewRoman" __FontTimes($sOptions) Case "CourierNew" __FontCourier($sOptions) Case "Symbol" __FontSymbol($sOptions) Case "Calibri" __FontCalibri($sOptions) Case "Garamond" __FontGaramond($sOptions) Case Else __FontArial($sOptions) EndSwitch Local $i = __InitObj() __ToBuffer("<< /Type/Font/Subtype/TrueType/Name/" & $sAlias & "/BaseFont/" & $BaseFont & $sOptions & "/FirstChar " & $FirstChar & "/LastChar " & $LastChar & "/FontDescriptor " & $i + 1 & " 0 R/Encoding/WinAnsiEncoding/Widths [") For $j = $FirstChar To $LastChar If $Widths[$j - $FirstChar] <> 0 Then $sTemp &= __ToStr($Widths[$j - $FirstChar]) & " " If Mod($j - $FirstChar + 1, 16) = 0 Or $j = $LastChar Then __ToBuffer($sTemp) $sTemp = "" EndIf EndIf Next __ToBuffer("] >>") __EndObj() $_sFONT = $_sFONT & "/" & $sAlias & " " & $i & " 0 R " & @CRLF $_sFONTNAME = $_sFONTNAME & "<" & $sAlias & ">" & StringRight("0000" & $_Font, 4) & ";" ;$i = __InitObj() __ToBuffer("<< /Type/FontDescriptor/FontName/" & $BaseFont & $Param & ">>") __EndObj() EndFunc ;==>_LoadFontTT ; #FUNCTION# ==================================================================================================================== ; Name ..........: _LoadResImage ; Description ...: Load a image in the pdf (if you use it multiple times it decreases the size of the pdf) ; Syntax ........: _LoadResImage( $sImgAlias , $sImage ) ; Parameters ....: $sImgAlias - an alias to identify the image in the pdf (e.g. "Cheese"). ; $sImage - image path. ; Return values .: Success - True ; Failure - False ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: Image types accepted: BMP, GIF, TIF, TIFF, PNG, JPG, JPEG (those are tested) ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _LoadResImage($sImgAlias, $sImage) Local $iW, $iH, $ImgBuf, $hImage, $hImageExt, $newImg, $hClone, $hGraphics, $iObj If $sImgAlias = "" Then __Error("You don't have an alias for the image", @ScriptLineNumber) If $sImage = "" Then __Error("You don't have any images to insert or the path is invalid", @ScriptLineNumber) Else $hImageExt = StringUpper(StringRight($sImage, 3)) $newImg = _TempFile(@ScriptDir, "~", ".jpg") Switch $hImageExt Case "BMP", "GIF", "TIF", "TIFF", "PNG", "JPG", "JPEG", "ICO" _GDIPlus_Startup() $hImage = _GDIPlus_ImageLoadFromFile($sImage) $iW = _GDIPlus_ImageGetWidth($hImage) $iH = _GDIPlus_ImageGetHeight($hImage) $hClone = _GDIPlus_BitmapCloneArea($hImage, 0, 0, $iW, $iH, $GDIP_PXF24RGB) $hGraphics = _GDIPlus_ImageGetGraphicsContext($hClone) _GDIPlus_GraphicsSetSmoothingMode($hGraphics, 2) _GDIPlus_GraphicsClear($hGraphics, 0xFFFFFFFF) _GDIPlus_GraphicsDrawImage($hGraphics, $hImage, 0, 0) _GDIPlus_ImageSaveToFile($hClone, $newImg) $ImgBuf = __ToBinary($newImg) $_iImageW = $iW $_iImageH = $iH $iObj = __InitObj() __ToBuffer("<</Type /XObject /Subtype /Image /Name /" & $sImgAlias & " /Width " & $_iImageW & " /Height " & $_iImageH & " /Filter /DCTDecode /ColorSpace /DeviceRGB /BitsPerComponent 8" & " /Length " & $iObj + 1 & " 0 R" & ">>") __ToBuffer("stream" & @CRLF & $ImgBuf & @CRLF & "endstream") __EndObj() $_Image &= "/" & $sImgAlias & " " & $iObj & " 0 R " & @CRLF __InitObj() __ToBuffer(StringLen($ImgBuf)) __EndObj() _GDIPlus_ImageDispose($hImage) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_BitmapDispose($hClone) _GDIPlus_Shutdown() FileDelete($newImg) Case Else __Error("The image is invalid", @ScriptLineNumber) Exit EndSwitch EndIf Return $_Image EndFunc ;==>_LoadResImage ; #FUNCTION# ==================================================================================================================== ; Name ..........: _OpenAfter ; Description ...: Choose to open or not the pdf after generating ; Syntax ........: _OpenAfter( [ $bO ] ) ; Parameters ....: $bO - [optional] True/False. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _OpenAfter($bO = True) $_bOpen = $bO EndFunc ;==>_OpenAfter ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Paragraph ; Description ...: Insert paragraph on page ; Syntax ........: _Paragraph( $sText , $iX , $iY [, $iWidth [, $sFontAlias [, $iFontSize [, $iRotate ]]]] ) ; Parameters ....: $sText - text string. ; $iX - left value. ; $iY - top value. ; $iWidth - [optional] width. ; $sFontAlias - [optional] font alias. ; $iFontSize - [optional] font size. ; $iRotate - [optional] angle. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Paragraph($sText, $iX, $iY, $iWidth = 0, $sFontAlias = "", $iFontSize = 12, $iRotate = 0) _SetColourFill(0) _SetColourStroke(0) _SetTextRenderingMode(0) Local $iUnit = Round(_GetUnit()) Local $iPagina = Round(_GetPageWidth() / $iUnit) If $iWidth = 0 Then $iWidth = Round($iPagina - 1.75 * $iX, 2) Local $lScale = 100 Local $sRand = "" Local $r = 0 Local $iCuvinte = StringSplit($sText, " ", 3) For $i = 0 To UBound($iCuvinte) - 1 $sRand &= $iCuvinte[$i] & " " Local $ssr = Round(_GetTextLength($sRand, $sFontAlias, $iFontSize) * $iUnit) Switch $ssr Case 1 To Round($iWidth * $iUnit, 2) If $i = UBound($iCuvinte) - 1 Then _DrawText($iX, $iY - Round($r * (($iFontSize * 1.2) / $iUnit), 2), $sRand, $sFontAlias, $iFontSize, $PDF_ALIGN_LEFT, $iRotate) EndIf ContinueLoop Case Else $lScale = Round($iWidth * 100 * $iUnit / $ssr, 1) _SetTextHorizontalScaling($lScale) _DrawText($iX, $iY - Round($r * ($iFontSize * 1.2) / $iUnit, 2), $sRand, $sFontAlias, $iFontSize, $PDF_ALIGN_LEFT, $iRotate) _SetTextHorizontalScaling(100) EndSwitch $sRand = "" $r += 1 Next EndFunc ;==>_Paragraph ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Rectangle ; Description ...: Draw a _Rectangle ; Syntax ........: _Rectangle( $iX , $iY , $iW , $iH [, $sStyle [, $iRadius ]] ) ; Parameters ....: $iX - Left value. ; $iY - Top value. ; $iW - Width. ; $iH - Height. ; $sStyle - [optional] string value. ; |$PDF_STYLE_STROKED ; |$PDF_STYLE_FILLED ; $iRadius - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Rectangle($iX, $iY, $iW, $iH, $sStyle = $PDF_STYLE_STROKED, $iRadius = 0) Local $iR __ToBuffer("n") If $iRadius > 0 Then If $iRadius > ($iW / 2) Then $iRadius = $iW / 2 If $iRadius > ($iH / 2) Then $iRadius = $iH / 2 $iR = 0.55 * $iRadius _MoveTo($iX + $iRadius, $iY) _LineTo($iX + $iW - $iRadius, $iY, $PDF_STYLE_NONE) __Curve(($iX + $iW - $iRadius + $iR), $iY, $iX + $iW, $iY + $iRadius - $iR, $iX + $iW, $iY + $iRadius, $PDF_STYLE_NONE) _LineTo($iX + $iW, $iY + $iH - $iRadius, $PDF_STYLE_NONE) __Curve($iX + $iW, $iY + $iH - $iRadius + $iR, $iX + $iW - $iRadius + $iR, $iY + $iH, $iX + $iW - $iRadius, $iY + $iH, $PDF_STYLE_NONE) _LineTo($iX + $iRadius, $iY + $iH, $PDF_STYLE_NONE) __Curve($iX + $iRadius - $iR, $iY + $iH, $iX, $iY + $iH - $iRadius + $iR, $iX, $iY + $iH - $iRadius, $PDF_STYLE_NONE) _LineTo($iX, $iY + $iRadius, $PDF_STYLE_NONE) __Curve($iX, $iY + $iRadius - $iR, $iX + $iRadius - $iR, $iY, $iX + $iRadius, $iY, $PDF_STYLE_NONE) Else __ToBuffer(__ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " " & __ToStr(__ToSpace($iW)) & " " & __ToStr(__ToSpace($iH)) & " re") EndIf _Path($sStyle) EndFunc ;==>_Rectangle ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetCharSpacing ; Description ...: Set the space between characters ; Syntax ........: _SetCharSpacing( $iW ) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetCharSpacing($iW) $_CharSpacing = $iW __ToBuffer(__ToStr($_CharSpacing) & " Tc") EndFunc ;==>_SetCharSpacing ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetColourFill ; Description ...: Set the fill colour ; Syntax ........: _SetColourFill( $rgb ) ; Parameters ....: $rgb - RGB value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetColourFill($rgb) Local $r, $G, $B If ($rgb <= 0) And ($rgb >= -255) Then __ToBuffer(__ToStr(-$rgb / 255) & " g") Else $B = Mod($rgb, 256) $G = Mod(($rgb / 256), 256) $r = Mod(($rgb / 65536), 256) __ToBuffer(__ToStr($r / 255) & " " & __ToStr($G / 255) & " " & __ToStr($B / 255) & " rg") EndIf EndFunc ;==>_SetColourFill ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetColourStroke ; Description ...: Set the stroke colour ; Syntax ........: _SetColourStroke( $rgb ) ; Parameters ....: $rgb - RGB value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetColourStroke($rgb) Local $r, $G, $B If ($rgb <= 0) And ($rgb >= -255) Then __ToBuffer(__ToStr(-$rgb / 255) & " G") Else $B = Mod($rgb, 256) $G = Mod(($rgb / 256), 256) $r = Mod(($rgb / 65536), 256) __ToBuffer(__ToStr($r / 255) & " " & __ToStr($G / 255) & " " & __ToStr($B / 255) & " RG") EndIf EndFunc ;==>_SetColourStroke ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetDash ; Description ...: The line dash pattern controls the pattern of dashes and gaps used to stroke paths. ; Syntax ........: _SetDash( $dash_on [, $dash_off ] ) ; Parameters ....: $dash_on - unknown value. ; $dash_off - [optional] unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetDash($dash_on, $dash_off = 0) If ($dash_on = 0) And ($dash_off = 0) Then __ToBuffer("[ ] 0 d") Else __ToBuffer("[" & __ToStr(__ToSpace($dash_on)) & " " & __ToStr(__ToSpace($dash_off)) & "] 0 d") EndIf EndFunc ;==>_SetDash ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetKeywords ; Description ...: Sets the keywords property of the pdf ; Syntax ........: _SetKeywords( [ $sKeywords ] ) ; Parameters ....: $sKeywords - [optional] string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetKeywords($sKeywords = "") $PDF_KEYWORDS = $sKeywords EndFunc ;==>_SetKeywords ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetLayoutMode ; Description ...: Sets the layout mode when pdf is displayed ; Syntax ........: _SetLayoutMode( $sL ) ; Parameters ....: $sL - string value. ; |$PDF_LAYOUT_SINGLE = 0 ; |$PDF_LAYOUT_CONTINOUS = 1 ; |$PDF_LAYOUT_TWO = 2 ; |$PDF_LAYOUT_DEFAULT = 4 ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetLayoutMode($sL) Switch $sL Case $PDF_LAYOUT_SINGLE, $PDF_LAYOUT_CONTINOUS, $PDF_LAYOUT_TWO, $PDF_LAYOUT_DEFAULT $_LayoutMode = $sL Case Else $_LayoutMode = $PDF_LAYOUT_SINGLE EndSwitch EndFunc ;==>_SetLayoutMode ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetLineCap ; Description ...: The line cap style specifies the shape to be used at the ends of open subpaths (and dashes, if any) when they are stroked. ; Syntax ........: _SetLineCap( $iW ) ; Parameters ....: $iW - integer value. ; |0 = Butt cap. ; |1 = Round cap. ; |2 = Projecting square cap. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetLineCap($iW) If ($iW >= 0) And ($iW <= 2) Then __ToBuffer(__ToStr($iW) & " J") EndFunc ;==>_SetLineCap ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetLineJoin ; Description ...: The line join style specifies the shape to be used at the corners of paths that are stroked. ; Syntax ........: _SetLineJoin( $iW ) ; Parameters ....: $iW - integer value. ; |0 = Miter join. ; |1 = Round join. ; |2 = Bevel join. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetLineJoin($iW) If ($iW >= 0) And ($iW <= 2) Then __ToBuffer(__ToStr($iW) & " j") EndFunc ;==>_SetLineJoin ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetMargin ; Description ...: Set the interior margin of the working area. ; Syntax ........: _SetMargin( $iValue ) ; Parameters ....: $iValue - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetMargin($iValue) $__SetMargin = __ToSpace($iValue) EndFunc ;==>_SetMargin ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetMiterLimit ; Description ...: When two line segments meet at a sharp angle and mitered joins have been specified as the line join style, ; it is possible for the miter to extend far beyond the thickness of the line stroking the path. ; The miter limit imposes a maximum on the ratio of the miter length to the line width. ; Syntax ........: _SetMiterLimit($iW) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetMiterLimit($iW) If ($iW >= 1) Then __ToBuffer(__ToStr($iW) & " M") EndFunc ;==>_SetMiterLimit ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetOrientation ; Description ...: Set the orientation of the pages in pdf ; Syntax ........: _SetOrientation( [ $iOrientation = $PDF_ORIENTATION_PORTRAIT ] ) ; Parameters ....: $iOrientation - [optional] integer value. ; |$PDF_ORIENTATION_PORTRAIT ; |$PDF_ORIENTATION_LANDSCAPE ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetOrientation($iOrientation = $PDF_ORIENTATION_PORTRAIT) $_Orientation = $iOrientation EndFunc ;==>_SetOrientation ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetPageHeight ; Description ...: Set the height of the page ; Syntax ........: _SetPageHeight( $iH ) ; Parameters ....: $iH - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetPageHeight($iH) If $_PaperSize <> "CUSTOM" Then $_PaperSize = "CUSTOM" $_PageHeight = __ToSpace($iH) EndFunc ;==>_SetPageHeight ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetPageWidth ; Description ...: Set the width of the page ; Syntax ........: _SetPageWidth( $iW ) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetPageWidth($iW) If $_PaperSize <> "CUSTOM" Then $_PaperSize = "CUSTOM" $_PageWidth = __ToSpace($iW) EndFunc ;==>_SetPageWidth ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetPaperSize ; Description ...: Sets the paper size of the pdf ; Syntax ........: _SetPaperSize( $sPage [, $iWidth [, $iHeight ]] ) ; Parameters ....: $sPage - string value ("A0","LETTER", "CUSTOM" etc) ; |if "CUSTOM" set the width and height ; $iWidth - [optional] integer value. ; $iHeight - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetPaperSize($sPage, $iWidth = -1, $iHeight = -1) $_PaperSize = StringUpper($sPage) Switch $sPage Case "A0" $_PageWidth = 2383.937 $_PageHeight = 3370.394 Case "A1" $_PageWidth = 1683.780 $_PageHeight = 2383.937 Case "A2" $_PageWidth = 1190.551 $_PageHeight = 1683.780 Case "A3" $_PageWidth = 841.890 $_PageHeight = 1190.551 Case "A4" $_PageWidth = 595.276 $_PageHeight = 841.890 Case "Assegno" $_PageWidth = 198.992 $_PageHeight = 510.236 Case "Ric_di_Rit19_5x10cm" $_PageWidth = 283.464 $_PageHeight =540 Case "A5" $_PageWidth = 419.528 $_PageHeight = 595.276 Case "A6" $_PageWidth = 297.638 $_PageHeight = 419.528 Case "A7" $_PageWidth = 209.764 $_PageHeight = 297.638 Case "A8" $_PageWidth = 147.402 $_PageHeight = 209.764 Case "A9" $_PageWidth = 104.882 $_PageHeight = 147.402 Case "A10" $_PageWidth = 73.701 $_PageHeight = 104.882 Case "A11" $_PageWidth = 51.024 $_PageHeight = 73.701 Case "A12" $_PageWidth = 36.850 $_PageHeight = 51.024 Case "B0" $_PageWidth = 2834.646 $_PageHeight = 4008.189 Case "B1" $_PageWidth = 2004.094 $_PageHeight = 2834.646 Case "B2" $_PageWidth = 1417.323 $_PageHeight = 2004.094 Case "B3" $_PageWidth = 1000.630 $_PageHeight = 1417.323 Case "B4" $_PageWidth = 708.661 $_PageHeight = 1000.630 Case "B5" $_PageWidth = 498.898 $_PageHeight = 708.661 Case "B6" $_PageWidth = 354.331 $_PageHeight = 498.898 Case "B7" $_PageWidth = 249.449 $_PageHeight = 354.331 Case "B8" $_PageWidth = 175.748 $_PageHeight = 249.449 Case "B9" $_PageWidth = 124.724 $_PageHeight = 175.748 Case "B10" $_PageWidth = 87.874 $_PageHeight = 124.724 Case "B11" $_PageWidth = 62.362 $_PageHeight = 87.874 Case "B12" $_PageWidth = 42.520 $_PageHeight = 62.362 Case "C0" $_PageWidth = 2599.370 $_PageHeight = 3676.535 Case "C1" $_PageWidth = 1836.850 $_PageHeight = 2599.370 Case "C2" $_PageWidth = 1298.268 $_PageHeight = 1836.850 Case "C3" $_PageWidth = 918.425 $_PageHeight = 1298.268 Case "C4" $_PageWidth = 649.134 $_PageHeight = 918.425 Case "C5" $_PageWidth = 459.213 $_PageHeight = 649.134 Case "C6" $_PageWidth = 323.150 $_PageHeight = 459.213 Case "C7" $_PageWidth = 229.606 $_PageHeight = 323.150 Case "C8" $_PageWidth = 161.575 $_PageHeight = 229.606 Case "C9" $_PageWidth = 113.386 $_PageHeight = 161.575 Case "C10" $_PageWidth = 79.370 $_PageHeight = 113.386 Case "C11" $_PageWidth = 56.693 $_PageHeight = 79.370 Case "C12" $_PageWidth = 39.685 $_PageHeight = 56.693 Case "C76" $_PageWidth = 229.606 $_PageHeight = 459.213 Case "DL" $_PageWidth = 311.811 $_PageHeight = 623.622 Case "E0" $_PageWidth = 2491.654 $_PageHeight = 3517.795 Case "E1" $_PageWidth = 1757.480 $_PageHeight = 2491.654 Case "E2" $_PageWidth = 1247.244 $_PageHeight = 1757.480 Case "E3" $_PageWidth = 878.740 $_PageHeight = 1247.244 Case "E4" $_PageWidth = 623.622 $_PageHeight = 878.740 Case "E5" $_PageWidth = 439.370 $_PageHeight = 623.622 Case "E6" $_PageWidth = 311.811 $_PageHeight = 439.370 Case "E7" $_PageWidth = 221.102 $_PageHeight = 311.811 Case "E8" $_PageWidth = 155.906 $_PageHeight = 221.102 Case "E9" $_PageWidth = 110.551 $_PageHeight = 155.906 Case "E10" $_PageWidth = 76.535 $_PageHeight = 110.551 Case "E11" $_PageWidth = 53.858 $_PageHeight = 76.535 Case "E12" $_PageWidth = 36.850 $_PageHeight = 53.858 Case "G0" $_PageWidth = 2715.591 $_PageHeight = 3838.110 Case "G1" $_PageWidth = 1919.055 $_PageHeight = 2715.591 Case "G2" $_PageWidth = 1357.795 $_PageHeight = 1919.055 Case "G3" $_PageWidth = 958.110 $_PageHeight = 1357.795 Case "G4" $_PageWidth = 677.480 $_PageHeight = 958.110 Case "G5" $_PageWidth = 479.055 $_PageHeight = 677.480 Case "G6" $_PageWidth = 337.323 $_PageHeight = 479.055 Case "G7" $_PageWidth = 238.110 $_PageHeight = 337.323 Case "G8" $_PageWidth = 167.244 $_PageHeight = 238.110 Case "G9" $_PageWidth = 119.055 $_PageHeight = 167.244 Case "G10" $_PageWidth = 82.205 $_PageHeight = 119.055 Case "G11" $_PageWidth = 59.528 $_PageHeight = 82.205 Case "G12" $_PageWidth = 39.685 $_PageHeight = 59.528 Case "RA0" $_PageWidth = 2437.795 $_PageHeight = 3458.268 Case "RA1" $_PageWidth = 1729.134 $_PageHeight = 2437.795 Case "RA2" $_PageWidth = 1218.898 $_PageHeight = 1729.134 Case "RA3" $_PageWidth = 864.567 $_PageHeight = 1218.898 Case "RA4" $_PageWidth = 609.449 $_PageHeight = 864.567 Case "SRA0" $_PageWidth = 2551.181 $_PageHeight = 3628.346 Case "SRA1" $_PageWidth = 1814.173 $_PageHeight = 2551.181 Case "SRA2" $_PageWidth = 1275.591 $_PageHeight = 1814.173 Case "SRA3" $_PageWidth = 907.087 $_PageHeight = 1275.591 Case "SRA4" $_PageWidth = 637.795 $_PageHeight = 907.087 Case "4A0" $_PageWidth = 4767.874 $_PageHeight = 6740.787 Case "2A0" $_PageWidth = 3370.394 $_PageHeight = 4767.874 Case "A2_EXTRA" $_PageWidth = 1261.417 $_PageHeight = 1754.646 Case "A3+" $_PageWidth = 932.598 $_PageHeight = 1369.134 Case "A3_EXTRA" $_PageWidth = 912.756 $_PageHeight = 1261.417 Case "A3_SUPER" $_PageWidth = 864.567 $_PageHeight = 1440 Case "SUPER_A3" $_PageWidth = 864.567 $_PageHeight = 1380.472 Case "A4_EXTRA" $_PageWidth = 666.142 $_PageHeight = 912.756 Case "A4_SUPER" $_PageWidth = 649.134 $_PageHeight = 912.756 Case "SUPER_A4" $_PageWidth = 643.465 $_PageHeight = 1009.134 Case "A4_LONG" $_PageWidth = 595.276 $_PageHeight = 986.457 Case "F4" $_PageWidth = 595.276 $_PageHeight = 935.433 Case "SO_B5_EXTRA" $_PageWidth = 572.598 $_PageHeight = 782.362 Case "A5_EXTRA" $_PageWidth = 490.394 $_PageHeight = 666.142 Case "ANSI_E" $_PageWidth = 2448 $_PageHeight = 3168 Case "ANSI_D" $_PageWidth = 1584 $_PageHeight = 2448 Case "ANSI_C" $_PageWidth = 1224 $_PageHeight = 1584 Case "ANSI_B" $_PageWidth = 792 $_PageHeight = 1224 Case "ANSI_A" $_PageWidth = 612 $_PageHeight = 792 Case "LEDGER" $_PageWidth = 1224 $_PageHeight = 792 Case "TABLOID" $_PageWidth = 792 $_PageHeight = 1224 Case "LETTER" $_PageWidth = 612 $_PageHeight = 792 Case "LEGAL" $_PageWidth = 612 $_PageHeight = 1008 Case "GLETTER" $_PageWidth = 576 $_PageHeight = 756 Case "JLEGAL" $_PageWidth = 576 $_PageHeight = 360 Case "QUADDEMY" $_PageWidth = 2520 $_PageHeight = 3240 Case "SUPER_B" $_PageWidth = 936 $_PageHeight = 1368 Case "QUARTO" $_PageWidth = 648 $_PageHeight = 792 Case "FOLIO" $_PageWidth = 612 $_PageHeight = 936 Case "EXECUTIVE" $_PageWidth = 522 $_PageHeight = 756 Case "MEMO" $_PageWidth = 396 $_PageHeight = 612 Case "FOOLSCAP" $_PageWidth = 595.440 $_PageHeight = 936 Case "COMPACT" $_PageWidth = 306 $_PageHeight = 486 Case "ORGANIZERJ" $_PageWidth = 198 $_PageHeight = 360 Case "P1" $_PageWidth = 1587.402 $_PageHeight = 2437.795 Case "P2" $_PageWidth = 1218.898 $_PageHeight = 1587.402 Case "P3" $_PageWidth = 793.701 $_PageHeight = 1218.898 Case "P4" $_PageWidth = 609.449 $_PageHeight = 793.701 Case "P5" $_PageWidth = 396.850 $_PageHeight = 609.449 Case "P6" $_PageWidth = 303.307 $_PageHeight = 396.850 Case "ARCH_E" $_PageWidth = 2592 $_PageHeight = 3456 Case "ARCH_E1" $_PageWidth = 2160 $_PageHeight = 3024 Case "ARCH_D" $_PageWidth = 1728 $_PageHeight = 2592 Case "ARCH_C" $_PageWidth = 1296 $_PageHeight = 1728 Case "ARCH_B" $_PageWidth = 864 $_PageHeight = 1296 Case "ARCH_A" $_PageWidth = 648 $_PageHeight = 864 Case "ANNENV_A2" $_PageWidth = 314.640 $_PageHeight = 414 Case "ANNENV_A6" $_PageWidth = 342 $_PageHeight = 468 Case "ANNENV_A7" $_PageWidth = 378 $_PageHeight = 522 Case "ANNENV_A8" $_PageWidth = 396 $_PageHeight = 584.640 Case "ANNENV_A10" $_PageWidth = 450 $_PageHeight = 692.640 Case "ANNENV_SLIM" $_PageWidth = 278.640 $_PageHeight = 638.640 Case "COMMENV_N6_1/4" $_PageWidth = 252 $_PageHeight = 432 Case "COMMENV_N6_3/4" $_PageWidth = 260.640 $_PageHeight = 468 Case "COMMENV_N8" $_PageWidth = 278.640 $_PageHeight = 540 Case "COMMENV_N9" $_PageWidth = 278.640 $_PageHeight = 638.640 Case "COMMENV_N10" $_PageWidth = 296.640 $_PageHeight = 684 Case "COMMENV_N11" $_PageWidth = 324 $_PageHeight = 746.640 Case "COMMENV_N12" $_PageWidth = 342 $_PageHeight = 792 Case "COMMENV_N14" $_PageWidth = 360 $_PageHeight = 828 Case "CATENV_N1" $_PageWidth = 432 $_PageHeight = 648 Case "CATENV_N1_3/4" $_PageWidth = 468 $_PageHeight = 684 Case "CATENV_N2" $_PageWidth = 468 $_PageHeight = 720 Case "CATENV_N3" $_PageWidth = 504 $_PageHeight = 720 Case "CATENV_N6" $_PageWidth = 540 $_PageHeight = 756 Case "CATENV_N7" $_PageWidth = 576 $_PageHeight = 792 Case "CATENV_N8" $_PageWidth = 594 $_PageHeight = 810 Case "CATENV_N9_1/2" $_PageWidth = 612 $_PageHeight = 756 Case "CATENV_N9_3/4" $_PageWidth = 630 $_PageHeight = 810 Case "CATENV_N10_1/2" $_PageWidth = 648 $_PageHeight = 864 Case "CATENV_N12_1/2" $_PageWidth = 684 $_PageHeight = 900 Case "CATENV_N13_1/2" $_PageWidth = 720 $_PageHeight = 936 Case "CATENV_N14_1/4" $_PageWidth = 810 $_PageHeight = 882 Case "CATENV_N14_1/2" $_PageWidth = 828 $_PageHeight = 1044 Case "JIS_B0" $_PageWidth = 2919.685 $_PageHeight = 4127.244 Case "JIS_B1" $_PageWidth = 2063.622 $_PageHeight = 2919.685 Case "JIS_B2" $_PageWidth = 1459.843 $_PageHeight = 2063.622 Case "JIS_B3" $_PageWidth = 1031.811 $_PageHeight = 1459.843 Case "JIS_B4" $_PageWidth = 728.504 $_PageHeight = 1031.811 Case "JIS_B5" $_PageWidth = 515.906 $_PageHeight = 728.504 Case "JIS_B6" $_PageWidth = 362.835 $_PageHeight = 515.906 Case "JIS_B7" $_PageWidth = 257.953 $_PageHeight = 362.835 Case "JIS_B8" $_PageWidth = 181.417 $_PageHeight = 257.953 Case "JIS_B9" $_PageWidth = 127.559 $_PageHeight = 181.417 Case "JIS_B10" $_PageWidth = 90.709 $_PageHeight = 127.559 Case "JIS_B11" $_PageWidth = 62.362 $_PageHeight = 90.709 Case "JIS_B12" $_PageWidth = 45.354 $_PageHeight = 62.362 Case "PA0" $_PageWidth = 2381.102 $_PageHeight = 3174.803 Case "PA1" $_PageWidth = 1587.402 $_PageHeight = 2381.102 Case "PA2" $_PageWidth = 1190.551 $_PageHeight = 1587.402 Case "PA3" $_PageWidth = 793.701 $_PageHeight = 1190.551 Case "PA4" $_PageWidth = 595.276 $_PageHeight = 793.701 Case "PA5" $_PageWidth = 396.850 $_PageHeight = 595.276 Case "PA6" $_PageWidth = 297.638 $_PageHeight = 396.850 Case "PA7" $_PageWidth = 198.425 $_PageHeight = 297.638 Case "PA8" $_PageWidth = 147.402 $_PageHeight = 198.425 Case "PA9" $_PageWidth = 99.213 $_PageHeight = 147.402 Case "PA10" $_PageWidth = 73.701 $_PageHeight = 99.213 Case "PASSPORT_PHOTO" $_PageWidth = 99.213 $_PageHeight = 127.559 Case "E" $_PageWidth = 233.858 $_PageHeight = 340.157 Case "3R" $_PageWidth = 252.283 $_PageHeight = 360 Case "4R" $_PageWidth = 289.134 $_PageHeight = 430.866 Case "4D" $_PageWidth = 340.157 $_PageHeight = 430.866 Case "5R" $_PageWidth = 360 $_PageHeight = 504.567 Case "6R" $_PageWidth = 430.866 $_PageHeight = 575.433 Case "8R" $_PageWidth = 575.433 $_PageHeight = 720 Case "S8R" $_PageWidth = 575.433 $_PageHeight = 864.567 Case "10R" $_PageWidth = 720 $_PageHeight = 864.567 Case "S10R" $_PageWidth = 720 $_PageHeight = 1080 Case "11R" $_PageWidth = 790.866 $_PageHeight = 1009.134 Case "S11R" $_PageWidth = 790.866 $_PageHeight = 1224.567 Case "12R" $_PageWidth = 864.567 $_PageHeight = 1080 Case "S12R" $_PageWidth = 864.567 $_PageHeight = 1292.598 Case "NEWSPAPER_BROADSHEET" $_PageWidth = 2125.984 $_PageHeight = 1700.787 Case "NEWSPAPER_BERLINER" $_PageWidth = 1332.283 $_PageHeight = 892.913 Case "NEWSPAPER_COMPACT" $_PageWidth = 1218.898 $_PageHeight = 793.701 Case "BUSINESS_CARD_ISO7810" $_PageWidth = 153.014 $_PageHeight = 242.646 Case "BUSINESS_CARD_ISO216" $_PageWidth = 147.402 $_PageHeight = 209.764 Case "BUSINESS_CARD_ES" $_PageWidth = 155.906 $_PageHeight = 240.945 Case "BUSINESS_CARD_US" $_PageWidth = 144.567 $_PageHeight = 252.283 Case "BUSINESS_CARD_JP" $_PageWidth = 155.906 $_PageHeight = 257.953 Case "BUSINESS_CARD_HK" $_PageWidth = 153.071 $_PageHeight = 255.118 Case "BUSINESS_CARD_SE" $_PageWidth = 155.906 $_PageHeight = 255.118 Case "BUSINESS_CARD_IL" $_PageWidth = 141.732 $_PageHeight = 255.118 Case "4SHEET" $_PageWidth = 2880 $_PageHeight = 4320 Case "6SHEET" $_PageWidth = 3401.575 $_PageHeight = 5102.362 Case "12SHEET" $_PageWidth = 8640 $_PageHeight = 4320 Case "16SHEET" $_PageWidth = 5760 $_PageHeight = 8640 Case "32SHEET" $_PageWidth = 11520 $_PageHeight = 8640 Case "48SHEET" $_PageWidth = 17280 $_PageHeight = 8640 Case "64SHEET" $_PageWidth = 23040 $_PageHeight = 8640 Case "96SHEET" $_PageWidth = 34560 $_PageHeight = 8640 Case "EN_EMPEROR" $_PageWidth = 3456 $_PageHeight = 5184 Case "EN_ANTIQUARIAN" $_PageWidth = 2232 $_PageHeight = 3816 Case "EN_GRAND_EAGLE" $_PageWidth = 2070 $_PageHeight = 3024 Case "EN_DOUBLE_ELEPHANT" $_PageWidth = 1926 $_PageHeight = 2880 Case "EN_ATLAS" $_PageWidth = 1872 $_PageHeight = 2448 Case "EN_COLOMBIER" $_PageWidth = 1692 $_PageHeight = 2484 Case "EN_ELEPHANT" $_PageWidth = 1656 $_PageHeight = 2016 Case "EN_DOUBLE_DEMY" $_PageWidth = 1620 $_PageHeight = 2556 Case "EN_IMPERIAL" $_PageWidth = 1584 $_PageHeight = 2160 Case "EN_PRINCESS" $_PageWidth = 1548 $_PageHeight = 2016 Case "EN_CARTRIDGE" $_PageWidth = 1512 $_PageHeight = 1872 Case "EN_DOUBLE_LARGE_POST" $_PageWidth = 1512 $_PageHeight = 2376 Case "EN_ROYAL" $_PageWidth = 1440 $_PageHeight = 1800 Case "EN_HALF_POST" $_PageWidth = 1404 $_PageHeight = 1692 Case "EN_SUPER_ROYAL" $_PageWidth = 1368 $_PageHeight = 1944 Case "EN_DOUBLE_POST" $_PageWidth = 1368 $_PageHeight = 2196 Case "EN_MEDIUM" $_PageWidth = 1260 $_PageHeight = 1656 Case "EN_DEMY" $_PageWidth = 1260 $_PageHeight = 1620 Case "EN_LARGE_POST" $_PageWidth = 1188 $_PageHeight = 1512 Case "EN_COPY_DRAUGHT" $_PageWidth = 1152 $_PageHeight = 1440 Case "EN_POST" $_PageWidth = 1116 $_PageHeight = 1386 Case "EN_CROWN" $_PageWidth = 1080 $_PageHeight = 1440 Case "EN_PINCHED_POST" $_PageWidth = 1062 $_PageHeight = 1332 Case "EN_BRIEF" $_PageWidth = 972 $_PageHeight = 1152 Case "EN_FOOLSCAP" $_PageWidth = 972 $_PageHeight = 1224 Case "EN_SMALL_FOOLSCAP" $_PageWidth = 954 $_PageHeight = 1188 Case "EN_POTT" $_PageWidth = 900 $_PageHeight = 1080 Case "BE_GRAND_AIGLE" $_PageWidth = 1984.252 $_PageHeight = 2948.031 Case "BE_COLOMBIER" $_PageWidth = 1757.480 $_PageHeight = 2409.449 Case "BE_DOUBLE_CARRE" $_PageWidth = 1757.480 $_PageHeight = 2607.874 Case "BE_ELEPHANT" $_PageWidth = 1746.142 $_PageHeight = 2182.677 Case "BE_PETIT_AIGLE" $_PageWidth = 1700.787 $_PageHeight = 2381.102 Case "BE_GRAND_JESUS" $_PageWidth = 1559.055 $_PageHeight = 2069.291 Case "BE_JESUS" $_PageWidth = 1530.709 $_PageHeight = 2069.291 Case "BE_RAISIN" $_PageWidth = 1417.323 $_PageHeight = 1842.520 Case "BE_GRAND_MEDIAN" $_PageWidth = 1303.937 $_PageHeight = 1714.961 Case "BE_DOUBLE_POSTE" $_PageWidth = 1233.071 $_PageHeight = 1601.575 Case "BE_COQUILLE" $_PageWidth = 1218.898 $_PageHeight = 1587.402 Case "BE_PETIT_MEDIAN" $_PageWidth = 1176.378 $_PageHeight = 1502.362 Case "BE_RUCHE" $_PageWidth = 1020.472 $_PageHeight = 1303.937 Case "BE_PROPATRIA" $_PageWidth = 977.953 $_PageHeight = 1218.898 Case "BE_LYS" $_PageWidth = 898.583 $_PageHeight = 1125.354 Case "BE_POT" $_PageWidth = 870.236 $_PageHeight = 1088.504 Case "BE_ROSETTE" $_PageWidth = 765.354 $_PageHeight = 983.622 Case "FR_UNIVERS" $_PageWidth = 2834.646 $_PageHeight = 3685.039 Case "FR_DOUBLE_COLOMBIER" $_PageWidth = 2551.181 $_PageHeight = 3571.654 Case "FR_GRANDE_MONDE" $_PageWidth = 2551.181 $_PageHeight = 3571.654 Case "FR_DOUBLE_SOLEIL" $_PageWidth = 2267.717 $_PageHeight = 3401.575 Case "FR_DOUBLE_JESUS" $_PageWidth = 2154.331 $_PageHeight = 3174.803 Case "FR_GRAND_AIGLE" $_PageWidth = 2125.984 $_PageHeight = 3004.724 Case "FR_PETIT_AIGLE" $_PageWidth = 1984.252 $_PageHeight = 2664.567 Case "FR_DOUBLE_RAISIN" $_PageWidth = 1842.520 $_PageHeight = 2834.646 Case "FR_JOURNAL" $_PageWidth = 1842.520 $_PageHeight = 2664.567 Case "FR_COLOMBIER_AFFICHE" $_PageWidth = 1785.827 $_PageHeight = 2551.181 Case "FR_DOUBLE_CAVALIER" $_PageWidth = 1757.480 $_PageHeight = 2607.874 Case "FR_CLOCHE" $_PageWidth = 1700.787 $_PageHeight = 2267.717 Case "FR_SOLEIL" $_PageWidth = 1700.787 $_PageHeight = 2267.717 Case "FR_DOUBLE_CARRE" $_PageWidth = 1587.402 $_PageHeight = 2551.181 Case "FR_DOUBLE_COQUILLE" $_PageWidth = 1587.402 $_PageHeight = 2494.488 Case "FR_JESUS" $_PageWidth = 1587.402 $_PageHeight = 2154.331 Case "FR_RAISIN" $_PageWidth = 1417.323 $_PageHeight = 1842.520 Case "FR_CAVALIER" $_PageWidth = 1303.937 $_PageHeight = 1757.480 Case "FR_DOUBLE_COURONNE" $_PageWidth = 1303.937 $_PageHeight = 2040.945 Case "FR_CARRE" $_PageWidth = 1275.591 $_PageHeight = 1587.402 Case "FR_COQUILLE" $_PageWidth = 1247.244 $_PageHeight = 1587.402 Case "FR_DOUBLE_TELLIERE" $_PageWidth = 1247.244 $_PageHeight = 1927.559 Case "FR_DOUBLE_CLOCHE" $_PageWidth = 1133.858 $_PageHeight = 1700.787 Case "FR_DOUBLE_POT" $_PageWidth = 1133.858 $_PageHeight = 1757.480 Case "FR_ECU" $_PageWidth = 1133.858 $_PageHeight = 1474.016 Case "FR_COURONNE" $_PageWidth = 1020.472 $_PageHeight = 1303.937 Case "FR_TELLIERE" $_PageWidth = 963.780 $_PageHeight = 1247.244 Case "FR_POT" $_PageWidth = 878.740 $_PageHeight = 1133.858 Case "CUSTOM" If $iWidth = -1 Or $iHeight = -1 Then $_PageWidth = 595.276 $_PageHeight = 841.890 Else $_PageWidth = $iWidth $_PageHeight = $iHeight EndIf Case Else $_PageWidth = 595.2 $_PageHeight = 842 EndSwitch EndFunc ;==>_SetPaperSize ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetSubject ; Description ...: Set the subject of the pdf ; Syntax ........: _SetSubject( [ $sSubject ] ) ; Parameters ....: $sSubject - [optional] string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: See the properties of the pdf ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetSubject($sSubject = "") $PDF_SUBJECT = $sSubject EndFunc ;==>_SetSubject ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetTextHorizontalScaling ; Description ...: The horizontal scaling parameter adjusts the width of glyphs by stretching or ; shrinking them in the horizontal direction. Its value is specified as a percentage of ; the normal width of the glyphs, with 100 being the normal width. The scaling ; always applies to the x coordinate in text space, independently of the writing mode. ; Syntax ........: _SetTextHorizontalScaling($iW) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetTextHorizontalScaling($iW) $_TextScaling = $iW __ToBuffer(__ToStr($_TextScaling) & " Tz") Return $_TextScaling EndFunc ;==>_SetTextHorizontalScaling ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetTextRenderingMode ; Description ...: The text rendering mode determines whether showing text causes glyph ; outlines to be stroked, filled, used as a clipping path, or some combination of ; these operations. ; Syntax ........: _SetTextRenderingMode( [ $iW ] ) ; Parameters ....: $iW - [optional] integer value. ; |0 - Fill text. ; |1 - Stroke text. ; |2 - Fill, then stroke, text. ; |3 - Neither fill nor stroke text (invisible). ; |4 - Fill text and add to path for clipping (see above). ; |5 - Stroke text and add to path for clipping. ; |6 - Fill, then stroke, text and add to path for clipping. ; |7 - Add text to path for clipping. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetTextRenderingMode($iW = 0) If ($iW >= 0) And ($iW <= 7) Then __ToBuffer(__ToStr($iW) & " Tr") EndFunc ;==>_SetTextRenderingMode ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetTextRiseMode ; Description ...: Specifies the distance, in unscaled text space units, to move the ; baseline up or down from its default location. Positive values of text rise move the ; baseline up. Adjustments to the baseline are useful for drawing superscripts or ; subscripts. The default location of the baseline can be restored by setting the text ; rise to 0. Text rise always applies to the y coordinate in text space, regardless of the writing mode. ; Syntax ........: _SetTextRiseMode($iW) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetTextRiseMode($iW) __ToBuffer(__ToStr($iW) & " Ts") EndFunc ;==>_SetTextRiseMode ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetTitle ; Description ...: Set the title property of the pdf ; Syntax ........: _SetTitle( [ $sTitle ] ) ; Parameters ....: $sTitle - [optional] string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetTitle($sTitle = "") $PDF_TITLE = $sTitle EndFunc ;==>_SetTitle ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetUnit ; Description ...: Set the unit used in pdf ; Syntax ........: _SetUnit( [ $sUnit = $PDF_UNIT_CM ] ) ; Parameters ....: $sUnit ; |$PDF_UNIT_PT or 1 ; |$PDF_UNIT_INCH or 2 ; |$PDF_UNIT_MM or 4 ; |$PDF_UNIT_CM or 8 ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetUnit($sUnit = $PDF_UNIT_CM) $__SetUnit = $sUnit EndFunc ;==>_SetUnit ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetWordSpacing ; Description ...: Set the space between words ; Syntax ........: _SetWordSpacing($iW) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetWordSpacing($iW) $_WordSpacing = $iW __ToBuffer(__ToStr($_WordSpacing) & " Tw") EndFunc ;==>_SetWordSpacing ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetZoomMode ; Description ...: Set the zoom when the pdf is opened ; Syntax ........: _SetZoomMode( $sZmd [, $iZoom ] ) ; Parameters ....: $sZmd - zoom mode ; |$PDF_ZOOM_FULLPAGE ; |$PDF_ZOOM_FULLWIDTH ; |$PDF_ZOOM_REAL ; |$PDF_ZOOM_DEFAULT ; |$PDF_ZOOM_CUSTOM - in that case put the percentage on $iZoom ; $iZoom - [optional] integer value. ; Return values .: $_ZoomMode ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetZoomMode($sZmd, $iZoom = 100) Switch $sZmd Case $PDF_ZOOM_FULLPAGE, $PDF_ZOOM_FULLWIDTH, $PDF_ZOOM_REAL, $PDF_ZOOM_DEFAULT $_ZoomMode = $sZmd Case $PDF_ZOOM_CUSTOM $_ZoomMode = $iZoom Case Else $_ZoomMode = $PDF_ZOOM_FULLPAGE EndSwitch EndFunc ;==>_SetZoomMode ; #FUNCTION# ==================================================================================================================== ; Name ..........: _StartObject ; Description ...: Initialize an object (e.g. image, header, text...) to be inserted on the pdf. ; Syntax ........: _StartObject( $sAlias [, $Opt ] ) ; Parameters ....: $sName - string value. ; $Opt - [optional] . ; |$PDF_OBJECT_FIRSTPAGE ; |$PDF_OBJECT_ALLPAGES ; |$PDF_OBJECT_EVENPAGES ; |$PDF_OBJECT_ODDPAGES ; |$PDF_OBJECT_NOTFIRSTPAGE ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: Always close it with _EndObject() ; Related .......: _EndObject() ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _StartObject($sAlias, $Opt = $PDF_OBJECT_NONE) Local $i = __InitObj() __ToBuffer("<< /Type /XObject /Subtype /Form /FormType 1 /Name /" & $sAlias & " /BBox [" & __ToStr($__SetMargin) & " " & __ToStr($__SetMargin) & " " & __ToStr($_PageWidth - $__SetMargin) & " " & __ToStr($_PageHeight - $__SetMargin) & "] /Matrix [1 0 0 1 0 0] /Length " & $i + 1 & " 0 R >>" & @CRLF & _ "stream") $_iTmpOffset = $_Offset $_sObject = $_sObject & "/" & $sAlias & " " & $i & " 0 R " & @CRLF $_iObject = $_iObject + 1 ReDim $aOBJECTS[$_iObject] For $_iObject In $aOBJECTS $PDF_OBJECT_NAME = $sAlias $PDF_OBJECT_OPTIONS = $Opt Next EndFunc ;==>_StartObject ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawArc ; Description ...: Draw arc ; Syntax ........: _DrawArc( $iX , $iY , $iRadius [, $iStartAngle [, $iEndAngle [, $iRatio [, $bPie [, $iRotate [, $iQuality [, ; $sOptions = $PDF_STYLE_STROKED ]]]]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $iRadius - integer value. ; $iStartAngle - [optional] integer value. ; $iEndAngle - [optional] integer value. ; $iRatio - [optional] integer value. ; $bPie - [optional] bool value. ; $iRotate - [optional] integer value. ; $iQuality - [optional] integer value. ; $sOptions - [optional] string value. ; $PDF_STYLE_STROKED - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawArc($iX, $iY, $iRadius, $iStartAngle = 0, $iEndAngle = 360, $iRatio = 1, $bPie = False, $iRotate = 0, $iQuality = 1, $sOptions = $PDF_STYLE_STROKED) Local $i Local $rad Local $PI Local $sTeta Local $cTeta Local $C Local $iX1, $iX2 Local $iY1, $iY2 __ToBuffer("n") _MoveTo($iX, $iY) If ($sOptions And $PDF_STYLE_FILLED) <> 0 Then $bPie = True $PI = 3.141592 $C = $PI / 180 $sTeta = Sin(-$C * $iRotate) $cTeta = Cos(-$C * $iRotate) For $i = $iStartAngle To $iEndAngle Step $iQuality $rad = $C * $i $iX2 = $iRadius * Cos($rad) $iY2 = ($iRadius * $iRatio) * Sin($rad) $iX1 = $iX2 * $cTeta + $iY2 * $sTeta $iY1 = -$iX2 * $sTeta + $iY2 * $cTeta If ($i = $iStartAngle) And (Not $bPie) Then _MoveTo($iX + $iX1, $iY + $iY1) _LineTo($iX + $iX1, $iY + $iY1, $PDF_STYLE_NONE) Next If $bPie Then _LineTo($iX, $iY, $PDF_STYLE_NONE) _Path($sOptions) EndFunc ;==>_DrawArc ; =============================================================================================================================== ; =============================================================================================================================== ; =============================================================================================================================== Func __Curve($iX1, $iY1, $iX2, $iY2, $iX3, $iY3, $sOptions = $PDF_STYLE_STROKED) __ToBuffer(__ToStr(__ToSpace($iX1)) & " " & __ToStr(__ToSpace($iY1)) & " " & __ToStr(__ToSpace($iX2)) & " " & __ToStr(__ToSpace($iY2)) & " " & __ToStr(__ToSpace($iX3)) & " " & __ToStr(__ToSpace($iY3)) & " c") _Path($sOptions) EndFunc ;==>__Curve ; #FUNCTION# ==================================================================================================================== ; Name ..........: _MoveTo ; Description ...: Begin new subpath ; Syntax ........: _MoveTo( $x , $y ) ; Parameters ....: $x - unknown value. ; $y - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _MoveTo($X, $Y) __ToBuffer(__ToStr(__ToSpace($X)) & " " & __ToStr(__ToSpace($Y)) & " m") EndFunc ;==>_MoveTo ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Pages ; Description ...: Return number of pages ; Syntax ........: _Pages( ) ; Parameters ....: None ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Pages() Return $_Pages EndFunc ;==>_Pages ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Path ; Description ...: Paths define shapes, trajectories, and regions of all sorts. They are used to draw ; lines, define the shapes of filled areas, and specify boundaries for clipping other ; graphics. ; Syntax ........: _Path( [ $sStyle = $PDF_STYLE_NONE ] ) ; Parameters ....: $sStyle - [optional] string value. ; |See the $PDF_STYLE_~ constants ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Path($sStyle = $PDF_STYLE_NONE) If ($sStyle And ($PDF_STYLE_FILLED Or $PDF_STYLE_STROKED Or $PDF_STYLE_CLOSED)) = ($PDF_STYLE_FILLED Or $PDF_STYLE_STROKED Or $PDF_STYLE_CLOSED) Then __ToBuffer("b") ElseIf ($sStyle And ($PDF_STYLE_FILLED Or $PDF_STYLE_STROKED)) = ($PDF_STYLE_FILLED Or $PDF_STYLE_STROKED) Then __ToBuffer("B") ElseIf ($sStyle And $PDF_STYLE_FILLED) = $PDF_STYLE_FILLED Then __ToBuffer("f") Else If ($sStyle And $PDF_STYLE_CLOSED) <> 0 Then __ToBuffer("h") If ($sStyle And $PDF_STYLE_STROKED) <> 0 Then __ToBuffer("S") EndIf EndFunc ;==>_Path ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetLineWidth ; Description ...: Set the line width ; Syntax ........: _SetLineWidth( $iW ) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetLineWidth($iW) __ToBuffer(__ToStr(__ToSpace($iW)) & " w") EndFunc ;==>_SetLineWidth #region FUNCTIONS #region #INTERNAL_USE_ONLY# ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __DrawObject ; Description ...: ; Syntax ........: __DrawObject( $sName ) ; Parameters ....: $sName - string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __DrawObject($sName) If $sName <> "" Then __ToBuffer("/" & $sName & " Do") EndFunc ;==>__DrawObject ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __EndObj ; Description ...: ; Syntax ........: __EndObj( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __EndObj() $_Buffer &= "endobj" & @CRLF EndFunc ;==>__EndObj ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __Error ; Description ...: ; Syntax ........: __Error( $sErr , $iLne ) ; Parameters ....: $sErr - string value. ; $iLne - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __Error($sErr, $iLne) MsgBox(16, "PDF Error", "You have an error on line " & $iLne & "." & @CRLF & "Reason: " & $sErr & @CRLF & "Press OK to exit.") Exit EndFunc ;==>__Error ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __FontArial ; Description ...: ; Syntax ........: __FontArial( [ $Style , $PDF_FONT_NORMAL ] ) ; Parameters ....: $Style - [optional] unknown value. ; $PDF_FONT_NORMAL - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __FontArial($Style = $PDF_FONT_NORMAL) $BaseFont = "Arial" $FirstChar = 32 $LastChar = 255 $MissingWidth = 272 Local $aTemp[$LastChar - $FirstChar]; + 1] Switch $Style Case $PDF_FONT_NORMAL $aTemp = StringSplit("278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, " & _ "556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, " & _ "556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, " & _ "556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, " & _ "260, 334, 584, 750, 556, 750, 222, 556, 333, 1000, 556, 556, 333, 1000, 667, 333, 1000, 750, 611, 750, 750, 222, 222, 333, " & _ "333, 350, 556, 1000, 333, 1000, 500, 333, 944, 750, 500, 667, 278, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 556, 584, " & _ "333, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, " & _ "1000, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, " & _ "611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, " & _ "611, 556, 556, 556, 556, 500, 556, 500", ", ", 3) $Param = "/Flags 32 /FontBBox [-250 -221 1190 1000] " & _ "/MissingWidth 272 /StemV 80 " & _ "/StemH 80 /ItalicAngle 0 /CapHeight 905 /XHeight 453 " & _ "/Ascent 905 /Descent -212 /Leading 150 " & _ "/MaxWidth 992 /AvgWidth 441" Case $PDF_FONT_BOLD $BaseFont = $BaseFont & ",Bold" $aTemp = StringSplit("278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, " & _ "556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, " & _ "722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, " & _ "611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 750, " & _ "556, 750, 278, 556, 500, 1000, 556, 556, 333, 1000, 667, 333, 1000, 750, 611, 750, 750, 278, 278, 500, 500, 350, 556, 1000, 333, " & _ "1000, 556, 333, 944, 750, 500, 667, 278, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 333, 737, 552, 400, 549, 333, " & _ "333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1000, 722, 667, 667, 667, 667, 278, " & _ "278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, " & _ "556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556, 611, 556", ", ", 3) $Param = "/Flags 16416 /FontBBox [-250 -212 1120 1000] " & _ "/MissingWidth 311 /StemV 153 " & _ "/StemH 153 /ItalicAngle 0 /CapHeight 905 /XHeight 453 " & _ "/Ascent 905 /Descent -212 /Leading 150 " & _ "/MaxWidth 933 /AvgWidth 479" $MissingWidth = 311 Case $PDF_FONT_ITALIC $BaseFont = $BaseFont & ",Italic" $aTemp = StringSplit("278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, " & _ "556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, " & _ "722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, " & _ "556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 750, 556, 750, 222, 556, 333, 1000, 556, 556, 333, 1000, " & _ "667, 333, 1000, 750, 611, 750, 750, 222, 222, 333, 333, 350, 556, 1000, 333, 1000, 500, 333, 944, 750, 500, 667, 278, 333, 556, 556, 556, 556, " & _ "260, 556, 333, 737, 370, 556, 584, 333, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834, 611, 667, 667, 667, " & _ "667, 667, 667, 1000, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, " & _ "556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, " & _ "500, 556, 500", ", ", 3) $Param = "/Flags 96 /FontBBox [-250 -212 1134 1000] " & _ "/MissingWidth 259 /StemV 80 " & _ "/StemH 80 /ItalicAngle -11 /CapHeight 905 /XHeight 453 " & _ "/Ascent 905 /Descent -212 /Leading 150 " & _ "/MaxWidth 945 /AvgWidth 441" $MissingWidth = 259 Case $PDF_FONT_BOLDITALIC $BaseFont = $BaseFont & ",BoldItalic" $aTemp = StringSplit("278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, " & _ "556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, " & _ "667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, " & _ "556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 750, 556, 750, 278, 556, 500, 1000, 556, 556, 333, 1000, 667, 333, 1000, 750, 611, 750, " & _ "750, 278, 278, 500, 500, 350, 556, 1000, 333, 1000, 556, 333, 944, 750, 500, 667, 278, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, " & _ "333, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1000, 722, 667, 667, " & _ "667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, " & _ "556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556, 611, 556", ", ", 3) $Param = "/Flags 16480 /FontBBox [-250 -212 1120 1000] " & _ "/MissingWidth 311 /StemV 153 " & _ "/StemH 153 /ItalicAngle -11 /CapHeight 905 /XHeight 453 " & _ "/Ascent 905 /Descent -212 /Leading 150 " & _ "/MaxWidth 933 /AvgWidth 479" $MissingWidth = 311 EndSwitch For $i = $FirstChar To $LastChar $Widths[$i] = $aTemp[$i - $FirstChar] Next Local $aRetTmp[6] = [$BaseFont, $FirstChar, $LastChar, $Param, $Widths, $MissingWidth] Return $aRetTmp EndFunc ;==>__FontArial ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __FontCalibri ; Description ...: ; Syntax ........: __FontCalibri( [ $Style , $PDF_FONT_NORMAL ] ) ; Parameters ....: $Style - [optional] unknown value. ; $PDF_FONT_NORMAL - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __FontCalibri($Style = $PDF_FONT_NORMAL) $BaseFont = "Calibri" $FirstChar = 32 $LastChar = 255 $MissingWidth = 333 Local $aTemp[$LastChar - $FirstChar]; + 1] Switch $Style Case $PDF_FONT_NORMAL $aTemp = StringSplit("226, 326, 401, 498, 507, 715, 682, 221, 303, 303, 498, 498, 250, 306, 252, 386, 507, 507, 507, 507, 507, 507, 507, 507, " & _ "507, 507, 268, 268, 498, 498, 498, 463, 894, 579, 544, 533, 615, 488, 459, 631, 623, 252, 319, 520, 420, 855, 646, 662, 517, 673, 543, 459, " & _ "487, 642, 567, 890, 519, 487, 468, 307, 386, 307, 498, 498, 291, 479, 525, 423, 525, 498, 305, 471, 525, 230, 239, 455, 230, 799, 525, 527, " & _ "525, 525, 349, 391, 335, 525, 452, 715, 433, 453, 395, 314, 460, 314, 498, 507, 507, 507, 250, 305, 418, 690, 498, 498, 395, 1038, 459, 339, " & _ "867, 507, 507, 507, 507, 250, 250, 418, 418, 498, 498, 905, 450, 705, 391, 339, 850, 507, 507, 487, 226, 326, 498, 507, 498, 507, 498, 498, " & _ "393, 834, 402, 512, 498, 306, 507, 394, 339, 498, 336, 334, 292, 550, 586, 252, 307, 246, 422, 512, 636, 671, 675, 463, 579, 579, 579, 579, " & _ "579, 579, 763, 533, 488, 488, 488, 488, 252, 252, 252, 252, 631, 646, 662, 662, 662, 662, 662, 498, 664, 642, 642, 642, 642, 252, 459, 527, " & _ "479, 479, 479, 479, 479, 479, 773, 423, 498, 498, 498, 498, 230, 230, 230, 230, 471, 525, 527, 527, 527, 527, 527, 498, 529, 525, 525, 525, " & _ "525, 230, 391, 453", ", ", 3) $Param = "/Flags 32/FontBBox[ -503 -307 1240 964] " & _ "/MissingWidth 333/StemV 80/StemH 80/ItalicAngle 0/CapHeight 500" & _ "/Ascent 964/Descent -307/MaxWidth 1000/AvgWidth 401" Case $PDF_FONT_BOLD $BaseFont = $BaseFont & ",Bold" $aTemp = StringSplit("226, 326, 401, 498, 507, 715, 682, 221, 303, 303, 498, 498, 250, 306, 252, 386, 507, 507, 507, 507, 507, 507, 507, 507, " & _ "507, 507, 268, 268, 498, 498, 498, 463, 894, 579, 544, 533, 615, 488, 459, 631, 623, 252, 319, 520, 420, 855, 646, 662, 517, 673, 543, 459, " & _ "487, 642, 567, 890, 519, 487, 468, 307, 386, 307, 498, 498, 291, 479, 525, 423, 525, 498, 305, 471, 525, 230, 239, 455, 230, 799, 525, 527, " & _ "525, 525, 349, 391, 335, 525, 452, 715, 433, 453, 395, 314, 460, 314, 498, 507, 507, 507, 250, 305, 418, 690, 498, 498, 395, 1038, 459, 339, " & _ "867, 507, 507, 507, 507, 250, 250, 418, 418, 498, 498, 905, 450, 705, 391, 339, 850, 507, 507, 487, 226, 326, 498, 507, 498, 507, 498, 498, " & _ "393, 834, 402, 512, 498, 306, 507, 394, 339, 498, 336, 334, 292, 550, 586, 252, 307, 246, 422, 512, 636, 671, 675, 463, 579, 579, 579, 579, " & _ "579, 579, 763, 533, 488, 488, 488, 488, 252, 252, 252, 252, 631, 646, 662, 662, 662, 662, 662, 498, 664, 642, 642, 642, 642, 252, 459, 527, " & _ "479, 479, 479, 479, 479, 479, 773, 423, 498, 498, 498, 498, 230, 230, 230, 230, 471, 525, 527, 527, 527, 527, 527, 498, 529, 525, 525, 525, " & _ "525, 230, 391, 453", ", ", 3) $Param = "/Flags 16418/FontBBox[ -503 -307 1240 964] " & _ "/MissingWidth 333/StemV 136/StemH 136/ItalicAngle 0/CapHeight 891" & _ "/Ascent 964/Descent -307/Leading 149/MaxWidth 1001/AvgWidth 401" Case $PDF_FONT_ITALIC $BaseFont = $BaseFont & ",Italic" $aTemp = StringSplit("226, 326, 401, 498, 507, 715, 682, 221, 303, 303, 498, 498, 250, 306, 252, 386, 507, 507, 507, 507, 507, 507, 507, 507, " & _ "507, 507, 268, 268, 498, 498, 498, 463, 894, 579, 544, 533, 615, 488, 459, 631, 623, 252, 319, 520, 420, 855, 646, 662, 517, 673, 543, 459, " & _ "487, 642, 567, 890, 519, 487, 468, 307, 386, 307, 498, 498, 291, 479, 525, 423, 525, 498, 305, 471, 525, 230, 239, 455, 230, 799, 525, 527, " & _ "525, 525, 349, 391, 335, 525, 452, 715, 433, 453, 395, 314, 460, 314, 498, 507, 507, 507, 250, 305, 418, 690, 498, 498, 395, 1038, 459, 339, " & _ "867, 507, 507, 507, 507, 250, 250, 418, 418, 498, 498, 905, 450, 705, 391, 339, 850, 507, 507, 487, 226, 326, 498, 507, 498, 507, 498, 498, " & _ "393, 834, 402, 512, 498, 306, 507, 394, 339, 498, 336, 334, 292, 550, 586, 252, 307, 246, 422, 512, 636, 671, 675, 463, 579, 579, 579, 579, " & _ "579, 579, 763, 533, 488, 488, 488, 488, 252, 252, 252, 252, 631, 646, 662, 662, 662, 662, 662, 498, 664, 642, 642, 642, 642, 252, 459, 527, " & _ "479, 479, 479, 479, 479, 479, 773, 423, 498, 498, 498, 498, 230, 230, 230, 230, 471, 525, 527, 527, 527, 527, 527, 498, 529, 525, 525, 525, " & _ "525, 230, 391, 453", ", ", 3) $Param = "/Flags 98 /FontBBox[ -503 -307 1240 964] " & _ "/MissingWidth 333/StemV 73/StemH 73/ItalicAngle -11/CapHeight 891" & _ "/Ascent 964/Descent -307/Leading 149/MaxWidth 1000/AvgWidth 402" Case $PDF_FONT_BOLDITALIC $BaseFont = $BaseFont & ",BoldItalic" $aTemp = StringSplit("226, 326, 401, 498, 507, 715, 682, 221, 303, 303, 498, 498, 250, 306, 252, 386, 507, 507, 507, 507, 507, 507, 507, 507, " & _ "507, 507, 268, 268, 498, 498, 498, 463, 894, 579, 544, 533, 615, 488, 459, 631, 623, 252, 319, 520, 420, 855, 646, 662, 517, 673, 543, 459, " & _ "487, 642, 567, 890, 519, 487, 468, 307, 386, 307, 498, 498, 291, 479, 525, 423, 525, 498, 305, 471, 525, 230, 239, 455, 230, 799, 525, 527, " & _ "525, 525, 349, 391, 335, 525, 452, 715, 433, 453, 395, 314, 460, 314, 498, 507, 507, 507, 250, 305, 418, 690, 498, 498, 395, 1038, 459, 339, " & _ "867, 507, 507, 507, 507, 250, 250, 418, 418, 498, 498, 905, 450, 705, 391, 339, 850, 507, 507, 487, 226, 326, 498, 507, 498, 507, 498, 498, " & _ "393, 834, 402, 512, 498, 306, 507, 394, 339, 498, 336, 334, 292, 550, 586, 252, 307, 246, 422, 512, 636, 671, 675, 463, 579, 579, 579, 579, " & _ "579, 579, 763, 533, 488, 488, 488, 488, 252, 252, 252, 252, 631, 646, 662, 662, 662, 662, 662, 498, 664, 642, 642, 642, 642, 252, 459, 527, " & _ "479, 479, 479, 479, 479, 479, 773, 423, 498, 498, 498, 498, 230, 230, 230, 230, 471, 525, 527, 527, 527, 527, 527, 498, 529, 525, 525, 525, " & _ "525, 230, 391, 453", ", ", 3) $Param = "/Flags 16482 /FontBBox[ -503 -307 1240 964] " & _ "/MissingWidth 333 /StemV 131/StemH 131 /ItalicAngle -11 /CapHeight 891 " & _ "/Ascent 964 /Descent -307/Leading 149/MaxWidth 1000/AvgWidth 412" EndSwitch For $i = $FirstChar To $LastChar $Widths[$i] = $aTemp[$i - $FirstChar] Next Local $aRetTmp[6] = [$BaseFont, $FirstChar, $LastChar, $Param, $Widths, $MissingWidth] Return $aRetTmp EndFunc ;==>__FontCalibri ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __FontGaramond ; Description ...: ; Syntax ........: __FontGaramond( [ $Style , $PDF_FONT_NORMAL ] ) ; Parameters ....: $Style - [optional] unknown value. ; $PDF_FONT_NORMAL - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __FontGaramond($sOptions = $PDF_FONT_NORMAL) $BaseFont = "Garamond" $FirstChar = 32 $LastChar = 255 $MissingWidth = 333 Local $aTemp[$LastChar - $FirstChar]; + 1] Switch $sOptions Case $PDF_FONT_NORMAL $aTemp = StringSplit("250, 219, 406, 667, 448, 823, 729, 177, 292, 292, 427, 667, 219, 313, 219, 500, 469, 469, 469, 469, 469, 469, 469, 469, 469, " & _ "469, 219, 219, 667, 667, 667, 365, 917, 677, 615, 635, 771, 656, 563, 771, 760, 354, 333, 740, 573, 833, 771, 781, 563, 771, 625, 479, 615, 708, " & _ "677, 885, 698, 656, 656, 271, 500, 271, 500, 500, 333, 406, 510, 417, 500, 417, 323, 448, 510, 229, 229, 469, 229, 771, 510, 510, 510, 490, 333, " & _ "365, 292, 490, 469, 667, 458, 417, 427, 479, 500, 479, 667, 750, 469, 750, 219, 615, 448, 1000, 427, 427, 333, 1021, 479, 198, 938, 750, 750, 750, " & _ "750, 219, 219, 448, 448, 354, 500, 1000, 333, 979, 365, 198, 698, 750, 750, 656, 250, 219, 417, 573, 677, 656, 500, 427, 333, 760, 260, 365, 667, " & _ "313, 760, 500, 396, 667, 313, 313, 333, 500, 448, 333, 333, 313, 333, 365, 813, 813, 823, 365, 677, 677, 677, 677, 677, 677, 854, 635, 656, 656, " & _ "656, 656, 354, 354, 354, 354, 771, 771, 781, 781, 781, 781, 781, 667, 781, 708, 708, 708, 708, 354, 479, 500, 406, 406, 406, 406, 406, 406, 583, " & _ "417, 417, 417, 417, 417, 229, 229, 229, 229, 448, 510, 510, 510, 510, 510, 510, 549, 510, 490, 490, 490, 490, 229, 365, 417", ", ", 3) $Param = "/Flags 34/FontBBox[ -139 -307 1063 986]" & _ "/MissingWidth 333/StemV 80" & _ "/StemH 80/ItalicAngle 0/CapHeight 500" & _ "/Ascent 986/Descent -307" & _ "/MaxWidth 1000 /AvgWidth 401" Case $PDF_FONT_BOLD $BaseFont = $BaseFont & ",Bold" $aTemp = StringSplit("250, 219, 406, 667, 448, 823, 729, 177, 292, 292, 427, 667, 219, 313, 219, 500, 469, 469, 469, 469, 469, 469, 469, 469, 469, " & _ "469, 219, 219, 667, 667, 667, 365, 917, 677, 615, 635, 771, 656, 563, 771, 760, 354, 333, 740, 573, 833, 771, 781, 563, 771, 625, 479, 615, 708, " & _ "677, 885, 698, 656, 656, 271, 500, 271, 500, 500, 333, 406, 510, 417, 500, 417, 323, 448, 510, 229, 229, 469, 229, 771, 510, 510, 510, 490, 333, " & _ "365, 292, 490, 469, 667, 458, 417, 427, 479, 500, 479, 667, 750, 469, 750, 219, 615, 448, 1000, 427, 427, 333, 1021, 479, 198, 938, 750, 750, 750, " & _ "750, 219, 219, 448, 448, 354, 500, 1000, 333, 979, 365, 198, 698, 750, 750, 656, 250, 219, 417, 573, 677, 656, 500, 427, 333, 760, 260, 365, 667, " & _ "313, 760, 500, 396, 667, 313, 313, 333, 500, 448, 333, 333, 313, 333, 365, 813, 813, 823, 365, 677, 677, 677, 677, 677, 677, 854, 635, 656, 656, " & _ "656, 656, 354, 354, 354, 354, 771, 771, 781, 781, 781, 781, 781, 667, 781, 708, 708, 708, 708, 354, 479, 500, 406, 406, 406, 406, 406, 406, 583, " & _ "417, 417, 417, 417, 417, 229, 229, 229, 229, 448, 510, 510, 510, 510, 510, 510, 549, 510, 490, 490, 490, 490, 229, 365, 417", ", ", 3) $Param = "/Flags 16418 /FontBBox[ -139 -307 1063 986]" & _ "/MissingWidth 333 /StemV 136" & _ "/StemH 136/ItalicAngle 0/CapHeight 891" & _ "/Ascent 986/Descent -307/Leading 149" & _ "/MaxWidth 1001 /AvgWidth 401" Case $PDF_FONT_ITALIC $BaseFont = $BaseFont & ",Italic" $aTemp = StringSplit("250, 219, 406, 667, 448, 823, 729, 177, 292, 292, 427, 667, 219, 313, 219, 500, 469, 469, 469, 469, 469, 469, 469, 469, 469, " & _ "469, 219, 219, 667, 667, 667, 365, 917, 677, 615, 635, 771, 656, 563, 771, 760, 354, 333, 740, 573, 833, 771, 781, 563, 771, 625, 479, 615, 708, " & _ "677, 885, 698, 656, 656, 271, 500, 271, 500, 500, 333, 406, 510, 417, 500, 417, 323, 448, 510, 229, 229, 469, 229, 771, 510, 510, 510, 490, 333, " & _ "365, 292, 490, 469, 667, 458, 417, 427, 479, 500, 479, 667, 750, 469, 750, 219, 615, 448, 1000, 427, 427, 333, 1021, 479, 198, 938, 750, 750, 750, " & _ "750, 219, 219, 448, 448, 354, 500, 1000, 333, 979, 365, 198, 698, 750, 750, 656, 250, 219, 417, 573, 677, 656, 500, 427, 333, 760, 260, 365, 667, " & _ "313, 760, 500, 396, 667, 313, 313, 333, 500, 448, 333, 333, 313, 333, 365, 813, 813, 823, 365, 677, 677, 677, 677, 677, 677, 854, 635, 656, 656, " & _ "656, 656, 354, 354, 354, 354, 771, 771, 781, 781, 781, 781, 781, 667, 781, 708, 708, 708, 708, 354, 479, 500, 406, 406, 406, 406, 406, 406, 583, " & _ "417, 417, 417, 417, 417, 229, 229, 229, 229, 448, 510, 510, 510, 510, 510, 510, 549, 510, 490, 490, 490, 490, 229, 365, 417", ", ", 3) $Param = "/Flags 98/FontBBox[ -139 -307 1063 986] " & _ "/MissingWidth 333/StemV 73" & _ "/StemH 73/ItalicAngle -11/CapHeight 891" & _ "/Ascent 986/Descent -307/Leading 149" & _ "/MaxWidth 1000/AvgWidth 402" Case $PDF_FONT_BOLDITALIC $BaseFont = $BaseFont & ",BoldItalic" $aTemp = StringSplit("250, 219, 406, 667, 448, 823, 729, 177, 292, 292, 427, 667, 219, 313, 219, 500, 469, 469, 469, 469, 469, 469, 469, 469, 469, " & _ "469, 219, 219, 667, 667, 667, 365, 917, 677, 615, 635, 771, 656, 563, 771, 760, 354, 333, 740, 573, 833, 771, 781, 563, 771, 625, 479, 615, 708, " & _ "677, 885, 698, 656, 656, 271, 500, 271, 500, 500, 333, 406, 510, 417, 500, 417, 323, 448, 510, 229, 229, 469, 229, 771, 510, 510, 510, 490, 333, " & _ "365, 292, 490, 469, 667, 458, 417, 427, 479, 500, 479, 667, 750, 469, 750, 219, 615, 448, 1000, 427, 427, 333, 1021, 479, 198, 938, 750, 750, 750, " & _ "750, 219, 219, 448, 448, 354, 500, 1000, 333, 979, 365, 198, 698, 750, 750, 656, 250, 219, 417, 573, 677, 656, 500, 427, 333, 760, 260, 365, 667, " & _ "313, 760, 500, 396, 667, 313, 313, 333, 500, 448, 333, 333, 313, 333, 365, 813, 813, 823, 365, 677, 677, 677, 677, 677, 677, 854, 635, 656, 656, " & _ "656, 656, 354, 354, 354, 354, 771, 771, 781, 781, 781, 781, 781, 667, 781, 708, 708, 708, 708, 354, 479, 500, 406, 406, 406, 406, 406, 406, 583, " & _ "417, 417, 417, 417, 417, 229, 229, 229, 229, 448, 510, 510, 510, 510, 510, 510, 549, 510, 490, 490, 490, 490, 229, 365, 417", ", ", 3) $Param = "/Flags 16482/FontBBox[ -139 -307 1063 986]" & _ "/MissingWidth 333 /StemV 131" & _ "/StemH 131/ItalicAngle -11/CapHeight 891" & _ "/Ascent 986/Descent -307/Leading 149" & _ "/MaxWidth 1000/AvgWidth 412" EndSwitch For $i = $FirstChar To $LastChar $Widths[$i] = $aTemp[$i - $FirstChar] Next Local $aRetTmp[6] = [$BaseFont, $FirstChar, $LastChar, $Param, $Widths, $MissingWidth] Return $aRetTmp EndFunc ;==>__FontGaramond ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __FontCourier ; Description ...: ; Syntax ........: __FontCourier( [ $Style , $PDF_FONT_NORMAL ] ) ; Parameters ....: $Style - [optional] unknown value. ; $PDF_FONT_NORMAL - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __FontCourier($Style = $PDF_FONT_NORMAL) $BaseFont = "CourierNew" $FirstChar = 32 $LastChar = 255 $MissingWidth = 600 Local $aTemp[$LastChar - $FirstChar]; + 1] Switch $Style Case $PDF_FONT_NORMAL $aTemp = StringSplit("600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600", ", ", 3) $Param = "/Flags 34 /FontBBox [-250 -300 720 1000] " & _ "/MissingWidth 600 /StemV 109 " & _ "/StemH 109 /ItalicAngle 0 /CapHeight 833 /XHeight 417 " & _ "/Ascent 833 /Descent -300 /Leading 133 " & _ "/MaxWidth 600 /AvgWidth 600" Case $PDF_FONT_BOLD $BaseFont = $BaseFont & ",Bold" $aTemp = StringSplit("600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600", ", ", 3) $Param = "/Flags 16418 /FontBBox [-250 -300 720 1000] " & _ "/MissingWidth 600 /StemV 191 " & _ "/StemH 191 /ItalicAngle 0 /CapHeight 833 /XHeight 417 " & _ "/Ascent 833 /Descent -300 /Leading 133 " & _ "/MaxWidth 600 /AvgWidth 600" Case $PDF_FONT_ITALIC $BaseFont = $BaseFont & ",Italic" $aTemp = StringSplit("600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600", ", ", 3) $Param = "/Flags 98 /FontBBox [-250 -300 720 1000] " & _ "/MissingWidth 600 /StemV 109 " & _ "/StemH 109 /ItalicAngle -11 /CapHeight 833 /XHeight 417 " & _ "/Ascent 833 /Descent -300 /Leading 133 " & _ "/MaxWidth 600 /AvgWidth 600" Case $PDF_FONT_BOLDITALIC $BaseFont = $BaseFont & ",BoldItalic" $aTemp = StringSplit("600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600", ", ", 3) $Param = "/Flags 16482 /FontBBox [-250 -300 720 1000] " & _ "/MissingWidth 600 /StemV 191 " & _ "/StemH 191 /ItalicAngle -11 /CapHeight 833 /XHeight 417 " & _ "/Ascent 833 /Descent -300 /Leading 133 " & _ "/MaxWidth 600 /AvgWidth 600" EndSwitch For $i = $FirstChar To $LastChar $Widths[$i] = $aTemp[$i - $FirstChar] Next Local $aRetTmp[6] = [$BaseFont, $FirstChar, $LastChar, $Param, $Widths, $MissingWidth] Return $aRetTmp EndFunc ;==>__FontCourier ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __FontSymbol ; Description ...: ; Syntax ........: __FontSymbol( [ $Style , $PDF_FONT_NORMAL ] ) ; Parameters ....: $Style - [optional] unknown value. ; $PDF_FONT_NORMAL - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __FontSymbol($Style = $PDF_FONT_NORMAL) $BaseFont = "Symbol" $FirstChar = 30 $LastChar = 255 $MissingWidth = 332 Local $aTemp[$LastChar - $FirstChar + 1] Switch $Style Case $PDF_FONT_NORMAL $aTemp = StringSplit("600, 600, 250, 333, 713, 500, 549, 833, 778, 439, 333, 333, 500, 549, 250, 549, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, " & _ "500, 500, 278, 278, 549, 549, 549, 444, 549, 722, 667, 722, 612, 611, 763, 603, 722, 333, 631, 722, 686, 889, 722, 722, 768, 741, 556, 592, 611, 690, " & _ "439, 768, 645, 795, 611, 333, 863, 333, 658, 500, 500, 631, 549, 549, 494, 439, 521, 411, 603, 329, 603, 549, 549, 576, 521, 549, 549, 521, 549, 603, " & _ "439, 576, 713, 686, 493, 686, 494, 480, 200, 480, 549, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 620, 247, 549, 167, 713, 500, 753, 753, 753, 753, 1042, 987, 603, 987, 603, " & _ "400, 549, 411, 549, 549, 713, 494, 460, 549, 549, 549, 549, 1000, 603, 1000, 658, 823, 686, 795, 987, 768, 768, 823, 768, 768, 713, 713, 713, 713, 713, " & _ "713, 713, 768, 713, 790, 790, 890, 823, 549, 250, 713, 603, 603, 1042, 987, 603, 987, 603, 494, 329, 790, 790, 786, 713, 384, 384, 384, 384, 384, 384, " & _ "494, 494, 494, 494, 600, 329, 274, 686, 686, 686, 384, 384, 384, 384, 384, 384, 494, 494, 494, 600", ", ", 3) $Param = "/Flags 6 /FontBBox [-250 -220 1246 1005] " & _ "/MissingWidth 332 /StemV 109 " & _ "/StemH 109 /ItalicAngle 0 /CapHeight 1005 /XHeight 503 " & _ "/Ascent 1005 /Descent -220 /Leading 225 " & _ "/MaxWidth 1038 /AvgWidth 601" Case $PDF_FONT_BOLD $BaseFont = $BaseFont & ",Bold" $aTemp = StringSplit("600, 600, 250, 333, 713, 500, 549, 833, 778, 439, 333, 333, 500, 549, 250, 549, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, " & _ "500, 500, 278, 278, 549, 549, 549, 444, 549, 722, 667, 722, 612, 611, 763, 603, 722, 333, 631, 722, 686, 889, 722, 722, 768, 741, 556, 592, 611, 690, " & _ "439, 768, 645, 795, 611, 333, 863, 333, 658, 500, 500, 631, 549, 549, 494, 439, 521, 411, 603, 329, 603, 549, 549, 576, 521, 549, 549, 521, 549, 603, " & _ "439, 576, 713, 686, 493, 686, 494, 480, 200, 480, 549, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 620, 247, 549, 167, 713, 500, 753, 753, 753, 753, 1042, 987, 603, 987, 603, " & _ "400, 549, 411, 549, 549, 713, 494, 460, 549, 549, 549, 549, 1000, 603, 1000, 658, 823, 686, 795, 987, 768, 768, 823, 768, 768, 713, 713, 713, 713, 713, " & _ "713, 713, 768, 713, 790, 790, 890, 823, 549, 250, 713, 603, 603, 1042, 987, 603, 987, 603, 494, 329, 790, 790, 786, 713, 384, 384, 384, 384, 384, 384, 494, " & _ "494, 494, 494, 600, 329, 274, 686, 686, 686, 384, 384, 384, 384, 384, 384, 494, 494, 494, 600", ", ", 3) $Param = "/Flags 16390 /FontBBox [-250 -220 1246 1005] " & _ "/MissingWidth 332 /StemV 191 " & _ "/StemH 191 /ItalicAngle 0 /CapHeight 1005 /XHeight 503 " & _ "/Ascent 1005 /Descent -220 /Leading 225 " & _ "/MaxWidth 1038 /AvgWidth 600" Case $PDF_FONT_ITALIC $BaseFont = $BaseFont & ",Italic" $aTemp = StringSplit("600, 600, 250, 333, 713, 500, 549, 833, 778, 439, 333, 333, 500, 549, 250, 549, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, " & _ "500, 278, 278, 549, 549, 549, 444, 549, 722, 667, 722, 612, 611, 763, 603, 722, 333, 631, 722, 686, 889, 722, 722, 768, 741, 556, 592, 611, 690, 439, 768, 645, " & _ "795, 611, 333, 863, 333, 658, 500, 500, 631, 549, 549, 494, 439, 521, 411, 603, 329, 603, 549, 549, 576, 521, 549, 549, 521, 549, 603, 439, 576, 713, 686, 493, " & _ "686, 494, 480, 200, 480, 549, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 620, 247, 549, 167, 713, 500, 753, 753, 753, 753, 1042, 987, 603, 987, 603, 400, 549, 411, 549, 549, 713, 494, 460, 549, " & _ "549, 549, 549, 1000, 603, 1000, 658, 823, 686, 795, 987, 768, 768, 823, 768, 768, 713, 713, 713, 713, 713, 713, 713, 768, 713, 790, 790, 890, 823, 549, 250, 713, " & _ "603, 603, 1042, 987, 603, 987, 603, 494, 329, 790, 790, 786, 713, 384, 384, 384, 384, 384, 384, 494, 494, 494, 494, 600, 329, 274, 686, 686, 686, 384, " & _ "384, 384, 384, 384, 384, 494, 494, 494, 600", ", ", 3) $Param = "/Flags 70 /FontBBox [-250 -220 1246 1005] " & _ "/MissingWidth 332 /StemV 109 " & _ "/StemH 109 /ItalicAngle -11 /CapHeight 1005 /XHeight 503 " & _ "/Ascent 1005 /Descent -220 /Leading 225 " & _ "/MaxWidth 1038 /AvgWidth 600" Case $PDF_FONT_BOLDITALIC $BaseFont = $BaseFont & ",BoldItalic" $aTemp = StringSplit("600, 600, 250, 333, 713, 500, 549, 833, 778, 439, 333, 333, 500, 549, 250, 549, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, " & _ "500, 278, 278, 549, 549, 549, 444, 549, 722, 667, 722, 612, 611, 763, 603, 722, 333, 631, 722, 686, 889, 722, 722, 768, 741, 556, 592, 611, 690, 439, 768, 645, " & _ "795, 611, 333, 863, 333, 658, 500, 500, 631, 549, 549, 494, 439, 521, 411, 603, 329, 603, 549, 549, 576, 521, 549, 549, 521, 549, 603, 439, 576, 713, 686, 493, " & _ "686, 494, 480, 200, 480, 549, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, " & _ "600, 600, 600, 600, 600, 600, 600, 600, 620, 247, 549, 167, 713, 500, 753, 753, 753, 753, 1042, 987, 603, 987, 603, 400, 549, 411, 549, 549, 713, 494, 460, 549, " & _ "549, 549, 549, 1000, 603, 1000, 658, 823, 686, 795, 987, 768, 768, 823, 768, 768, 713, 713, 713, 713, 713, 713, 713, 768, 713, 790, 790, 890, 823, 549, 250, 713, " & _ "603, 603, 1042, 987, 603, 987, 603, 494, 329, 790, 790, 786, 713, 384, 384, 384, 384, 384, 384, 494, 494, 494, 494, 600, 329, 274, 686, 686, 686, 384, " & _ "384, 384, 384, 384, 384, 494, 494, 494, 600", ", ", 3) $Param = "/Flags 16454 /FontBBox [-250 -220 1246 1005] " & _ "/MissingWidth 332 /StemV 191 " & _ "/StemH 191 /ItalicAngle -11 /CapHeight 1005 /XHeight 503 " & _ "/Ascent 1005 /Descent -220 /Leading 225 " & _ "/MaxWidth 1038 /AvgWidth 600" EndSwitch For $i = $FirstChar To $LastChar $Widths[$i] = $aTemp[$i - $FirstChar] Next Local $aRetTmp[6] = [$BaseFont, $FirstChar, $LastChar, $Param, $Widths, $MissingWidth] Return $aRetTmp EndFunc ;==>__FontSymbol ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __FontTimes ; Description ...: ; Syntax ........: __FontTimes( [ $Style , $PDF_FONT_NORMAL ] ) ; Parameters ....: $Style - [optional] unknown value. ; $PDF_FONT_NORMAL - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __FontTimes($Style = $PDF_FONT_NORMAL) $BaseFont = "TimesNewRoman" $FirstChar = 32 $LastChar = 255 $MissingWidth = 333 Local $aTemp[$LastChar - $FirstChar]; + 1] Switch $Style Case $PDF_FONT_NORMAL $aTemp = StringSplit("250, 333, 408, 500, 500, 833, 778, 180, 333, 333, 500, 564, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, " & _ "278, 564, 564, 564, 444, 921, 722, 667, 667, 722, 611, 556, 722, 722, 333, 389, 722, 611, 889, 722, 722, 556, 722, 667, 556, 611, 722, 722, 944, 722, 722, " & _ "611, 333, 278, 333, 469, 500, 333, 444, 500, 444, 500, 444, 333, 500, 500, 278, 278, 500, 278, 778, 500, 500, 500, 500, 333, 389, 278, 500, 500, 722, 500, " & _ "500, 444, 480, 200, 480, 541, 778, 500, 778, 333, 500, 444, 1000, 500, 500, 333, 1000, 556, 333, 889, 778, 611, 778, 778, 333, 333, 444, 444, 350, 500, 1000, " & _ "333, 980, 389, 333, 722, 778, 444, 722, 250, 333, 500, 500, 500, 500, 200, 500, 333, 760, 276, 500, 564, 333, 760, 500, 400, 549, 300, 300, 333, 576, 453, 250, " & _ "333, 300, 310, 500, 750, 750, 750, 444, 722, 722, 722, 722, 722, 722, 889, 667, 611, 611, 611, 611, 333, 333, 333, 333, 722, 722, 722, 722, 722, 722, 722, 564, " & _ "722, 722, 722, 722, 722, 722, 556, 500, 444, 444, 444, 444, 444, 444, 667, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 500, 500, 500, 500, 500, 500, 549, " & _ "500, 500, 500, 500, 500, 500, 500, 500", ", ", 3) $Param = "/Flags 34 /FontBBox [-250 -216 1200 1000] " & _ "/MissingWidth 333 /StemV 73 " & _ "/StemH 73 /ItalicAngle 0 /CapHeight 891 /XHeight 446 " & _ "/Ascent 891 /Descent -216 /Leading 149 " & _ "/MaxWidth 1000 /AvgWidth 401" Case $PDF_FONT_BOLD $BaseFont = $BaseFont & ",Bold" $aTemp = StringSplit("250, 333, 555, 500, 500, 1000, 833, 278, 333, 333, 500, 570, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 570, 570, 570, 500, 930, 722, 667, 722, 722, 667, 611, 778, 778, 389, 500, 778, 667, 944, 722, 778, 611, 778, 722, 556, 667, 722, 722, 1000, 722, 722, 667, 333, 278, 333, 581, 500, 333, 500, 556, 444, 556, 444, 333, 500, 556, 278, 333, 556, 278, 833, 556, 500, 556, 556, 444, 389, 333, 556, 500, 722, 500, 500, 444, 394, 220, 394, 520, 778, 500, 778, 333, 500, 500, 1000, 500, 500, 333, 1000, 556, 333, 1000, 778, 667, 778, 778, 333, 333, 500, 500, 350, 500, 1000, 333, 1000, 389, 333, 722, 778, 444, 722, 250, 333, 500, 500, 500, 500, 220, 500, 333, 747, 300, 500, 570, 333, 747, 500, 400, 549, 300, 300, 333, 576, 540, 250, 333, 300, 330, 500, 750, 750, 750, 500, 722, 722, 722, 722, 722, 722, 1000, 722, 667, 667, 667, 667, 389, 389, 389, 389, 722, 722, 778, 778, 778, 778, 778, 570, 778, 722, 722, 722, 722, 722, 611, 556, 500, 500, 500, 500, 500, 500, 722, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 556, 500, 500, 500, 500, 500, 549, 500, 556, 556, 556, 556, 500, 556, 500", ", ", 3) $Param = "/Flags 16418 /FontBBox [-250 -216 1201 1000] " & _ "/MissingWidth 333 /StemV 136 " & _ "/StemH 136 /ItalicAngle 0 /CapHeight 891 /XHeight 446 " & _ "/Ascent 891 /Descent -216 /Leading 149 " & _ "/MaxWidth 1001 /AvgWidth 401" Case $PDF_FONT_ITALIC $BaseFont = $BaseFont & ",Italic" $aTemp = StringSplit("250, 333, 420, 500, 500, 833, 778, 214, 333, 333, 500, 675, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, " & _ "333, 333, 675, 675, 675, 500, 920, 611, 611, 667, 722, 611, 611, 722, 722, 333, 444, 667, 556, 833, 667, 722, 611, 722, 611, 500, 556, 722, 611, 833, 611, " & _ "556, 556, 389, 278, 389, 422, 500, 333, 500, 500, 444, 500, 444, 278, 500, 500, 278, 278, 444, 278, 722, 500, 500, 500, 500, 389, 389, 278, 500, 444, 667, " & _ "444, 444, 389, 400, 275, 400, 541, 778, 500, 778, 333, 500, 556, 889, 500, 500, 333, 1000, 500, 333, 944, 778, 556, 778, 778, 333, 333, 556, 556, 350, 500, " & _ "889, 333, 980, 389, 333, 667, 778, 389, 556, 250, 389, 500, 500, 500, 500, 275, 500, 333, 760, 276, 500, 675, 333, 760, 500, 400, 549, 300, 300, 333, 576, " & _ "523, 250, 333, 300, 310, 500, 750, 750, 750, 500, 611, 611, 611, 611, 611, 611, 889, 667, 611, 611, 611, 611, 333, 333, 333, 333, 722, 667, 722, 722, 722, 722, " & _ "722, 675, 722, 722, 722, 722, 722, 556, 611, 500, 500, 500, 500, 500, 500, 500, 667, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 500, 500, 500, 500, 500, " & _ "500, 549, 500, 500, 500, 500, 500, 444, 500, 444", ", ", 3) $Param = "/Flags 98 /FontBBox [-250 -216 1200 1000] " & _ "/MissingWidth 333 /StemV 73 " & _ "/StemH 73 /ItalicAngle -11 /CapHeight 891 /XHeight 446 " & _ "/Ascent 891 /Descent -216 /Leading 149 " & _ "/MaxWidth 1000 /AvgWidth 402" Case $PDF_FONT_BOLDITALIC $BaseFont = $BaseFont & ",BoldItalic" $aTemp = StringSplit("250, 389, 555, 500, 500, 833, 778, 278, 333, 333, 500, 570, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, " & _ "570, 570, 570, 500, 832, 667, 667, 667, 722, 667, 667, 722, 778, 389, 500, 667, 611, 889, 722, 722, 611, 722, 667, 556, 611, 722, 667, 889, 667, 611, 611, 333, " & _ "278, 333, 570, 500, 333, 500, 500, 444, 500, 444, 333, 500, 556, 278, 278, 500, 278, 778, 556, 500, 500, 500, 389, 389, 278, 556, 444, 667, 500, 444, 389, 348, " & _ "220, 348, 570, 778, 500, 778, 333, 500, 500, 1000, 500, 500, 333, 1000, 556, 333, 944, 778, 611, 778, 778, 333, 333, 500, 500, 350, 500, 1000, 333, 1000, 389, " & _ "333, 722, 778, 389, 611, 250, 389, 500, 500, 500, 500, 220, 500, 333, 747, 266, 500, 606, 333, 747, 500, 400, 549, 300, 300, 333, 576, 500, 250, 333, 300, 300, " & _ "500, 750, 750, 750, 500, 667, 667, 667, 667, 667, 667, 944, 667, 667, 667, 667, 667, 389, 389, 389, 389, 722, 722, 722, 722, 722, 722, 722, 570, 722, 722, 722, " & _ "722, 722, 611, 611, 500, 500, 500, 500, 500, 500, 500, 722, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 556, 500, 500, 500, 500, 500, 549, 500, 556, 556, " & _ "556, 556, 444, 500, 444", ", ", 3) $Param = "/Flags 16482 /FontBBox [-250 -216 1200 1000] " & _ "/MissingWidth 333 /StemV 131 " & _ "/StemH 131 /ItalicAngle -11 /CapHeight 891 /XHeight 446 " & _ "/Ascent 891 /Descent -216 /Leading 149 " & _ "/MaxWidth 1000 /AvgWidth 412" EndSwitch For $i = $FirstChar To $LastChar $Widths[$i] = $aTemp[$i - $FirstChar] Next Local $aRetTmp[6] = [$BaseFont, $FirstChar, $LastChar, $Param, $Widths, $MissingWidth] Return $aRetTmp EndFunc ;==>__FontTimes ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __InitObj ; Description ...: ; Syntax ........: __InitObj( [ $iObj ] ) ; Parameters ....: $iObj - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __InitObj($iObj = 0) If $iObj = 0 Then $iObj = $_iMaxObject + 1 If $iObj > $_iMaxObject Then $_iMaxObject = $iObj ReDim $aXREF[$_iMaxObject + 1] $aXREF[$iObj] = StringRight("0000000000" & StringLen($_Buffer) + $_Offset + $iObj + 1, 10) & " 00000 n" __ToBuffer($iObj & " 0 obj") Return $iObj EndFunc ;==>__InitObj ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __InsertObjectOnPage ; Description ...: ; Syntax ........: __InsertObjectOnPage( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __InsertObjectOnPage() If $_iObject >= 0 Then For $_iObject In $aOBJECTS If ((($PDF_OBJECT_OPTIONS And $PDF_OBJECT_ALLPAGES) = $PDF_OBJECT_ALLPAGES) Or _ ((($PDF_OBJECT_OPTIONS And $PDF_OBJECT_EVENPAGES) <> 0) And (Mod($_Pages, 2) = 0)) Or _ ((($PDF_OBJECT_OPTIONS And $PDF_OBJECT_ODDPAGES) <> 0) And (Mod($_Pages, 2) <> 0)) And (Not _ ((($PDF_OBJECT_OPTIONS And $PDF_OBJECT_NOTFIRSTPAGE) <> 0) And ($_Pages = 1)))) Then __DrawObject($PDF_OBJECT_NAME) EndIf Next EndIf EndFunc ;==>__InsertObjectOnPage ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __Test ; Description ...: ; Syntax ........: __Test( $sText ) ; Parameters ....: $sText - string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __Test($sText) ConsoleWrite($sText & @CRLF) EndFunc ;==>__Test ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __ToBinary ; Description ...: ; Syntax ........: __ToBinary( $sImage ) ; Parameters ....: $sImage - string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __ToBinary($sImage) Local $hFile, $Bin $hFile = FileOpen($sImage, 16) $Bin = FileRead($hFile) FileClose($hFile) Return BinaryToString($Bin) EndFunc ;==>__ToBinary ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __ToBuffer ; Description ...: ; Syntax ........: __ToBuffer( $sT ) ; Parameters ....: $sT - string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __ToBuffer($sT) $_Buffer &= $sT & @CRLF EndFunc ;==>__ToBuffer ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __ToPdfStr ; Description ...: ; Syntax ........: __ToPdfStr( $Temp ) ; Parameters ....: $Temp - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __ToPdfStr($Temp) Return StringReplace(StringReplace(StringReplace($Temp, "\", "\\"), "(", "\("), ")", "\)") EndFunc ;==>__ToPdfStr ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __ToSpace ; Description ...: ; Syntax ........: __ToSpace( $sValue ) ; Parameters ....: $sValue - string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __ToSpace($sValue) Local $lRet Switch $__SetUnit Case $PDF_UNIT_PT $lRet = $sValue Case $PDF_UNIT_INCH $lRet = $sValue * 72 Case $PDF_UNIT_CM $lRet = $sValue * 72 / 2.54 Case $PDF_UNIT_MM $lRet = $sValue * 72 / 25.4 EndSwitch Return $lRet EndFunc ;==>__ToSpace ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __ToStr ; Description ...: ; Syntax ........: __ToStr( $sValue [, $Dec ] ) ; Parameters ....: $sValue - string value. ; $Dec - [optional] unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __ToStr($sValue, $Dec = 2) Return StringReplace(Round($sValue, $Dec), ",", ".") EndFunc ;==>__ToStr ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __ToUser ; Description ...: ; Syntax ........: __ToUser( $sValue ) ; Parameters ....: $sValue - string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func __ToUser($sValue) Local $lRet Switch $__SetUnit Case $PDF_UNIT_PT $lRet = $sValue Case $PDF_UNIT_INCH $lRet = $sValue / 72 Case $PDF_UNIT_CM $lRet = ($sValue / 72) * 2.54 Case $PDF_UNIT_MM $lRet = ($sValue / 72) * 25.4 EndSwitch Return $lRet EndFunc ;==>__ToUser #endregion #INTERNAL_USE_ONLY# Edited January 15, 2015 by faustf Link to comment Share on other sites More sharing options...
Gianni Posted January 15, 2015 Share Posted January 15, 2015 (edited) you have (at least) 2 ways to solve this issue: 1) modify all the occurences of the _iif function in the original udf by using the new ternary syntax or 2) just add a copy of the _iif function within your script (no need to modify the original udf in this way). have a look to >this link for this second option. Edited January 15, 2015 by Chimp faustf 1 Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
faustf Posted January 15, 2015 Author Share Posted January 15, 2015 o thank youuuuuu i optated for second and now go good this is a new code , i post for other expandcollapse popup#region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y #AutoIt3Wrapper_AU3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** #include-once #include <GDIPlus.au3> #include <Misc.au3> #include <File.au3> Func _Iif($fTest, $vTrueVal, $vFalseVal) If $fTest Then Return $vTrueVal Else Return $vFalseVal EndIf EndFunc ;==>_Iif ; #INDEX# ======================================================================================================================= ; Title .........: MIPDF ; AutoIt Version : 3.3.6.1 ; Description ...: Generate pdf using just AutoIt functions. ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Version .......: 1.0.3 ; Last Rev. .....: August 10, 2011 ; =============================================================================================================================== ; #CHANGES# ===================================================================================================================== ; 1.0.3 Rewrote _LoadResImage function - optimize for speed (GDI+ stuff) ; Thanks to xavierh for finding a missing space in the _LoadFontTT function (even it looks insignificant, that solved ; an issue with text justification when using Adobe Reader) ; ------------------------------------------------------------------------------------------------------------------------------- ; 1.0.2 Fixed a bug (a big one) related with objects. Foxit Reader worked well, but Adobe Reader gave some errors. Now both ; work fine. ; Added individual page rotation ; Dennis Sandstrom (aka StuffByDennis) added two more functions (_Draw_Path and _Draw_Polygon) ; ------------------------------------------------------------------------------------------------------------------------------- ; 1.0.1 Added more page formats ; Added two more fonts (Calibri and Garamond) ; Changed $PDF_PAGE_A4/~ to "a4","letter" etc (it's not case-sensitive) ; Fixed Txt2PDF function from the example. ; Added another function for table. ; ------------------------------------------------------------------------------------------------------------------------------- ; 1.0.0 Fixed the name af the saved pdf ; =============================================================================================================================== ; #CURRENT# ===================================================================================================================== ; _BeginPage ; _ClosePDFFile ; _DrawArc ; _DrawCircle ; _DrawCurve ; _DrawLine ; _DrawText ; _Draw_Path ; _Draw_Polygon ; _Draw_Rectangle ; _EndObject ; _EndPage ; _GetMargin ; _GetPageHeight ; _GetPageWidth ; _GetTextLength ; _GetUnit ; _InitPDF ; _InsertDCube ; _InsertDPie ; _InsertImage ; _InsertRenderedText ; _LineTo ; _LoadFontStandard ; _LoadFontTT ; _LoadResImage ; _MoveTo ; _OpenAfter ; _Pages ; _Paragraph ; _Path ; _Rectangle ; _SetCharSpacing ; _SetColourFill ; _SetColourStroke ; _SetDash ; _SetKeywords ; _SetLayoutMode ; _SetLineCap ; _SetLineJoin ; _SetLineWidth ; _SetMargin ; _SetMiterLimit ; _SetOrientation ; _SetPageHeight ; _SetPageWidth ; _SetPaperSize ; _SetSubject ; _SetTextHorizontalScaling ; _SetTextRenderingMode ; _SetTextRiseMode ; _SetTitle ; _SetUnit ; _SetWordSpacing ; _SetZoomMode ; _StartObject ; =============================================================================================================================== #region CONSTANTS Global $PDF_VERSION = "%PDF-1.5" & @CRLF & "%" & ChrW(199) & ChrW(200) & ChrW(201) & ChrW(202) Global $PDF_AUTHOR = "Mihai Iancu" Global $PDF_CREATOR = "MIPDF" Global $PDF_COPYRIGHT = "© 1973-" & @YEAR & " Mihai Iancu" Global $PDF_TITLE = "" Global $PDF_SUBJECT = "" Global $PDF_KEYWORDS = "" Global $PDF_NAME = "" Global Const $PDF_STYLE_NONE = 0x0 Global Const $PDF_STYLE_STROKED = 0x1 Global Const $PDF_STYLE_CLOSED = 0x2 Global Const $PDF_STYLE_FILLED = 0x4 Global Const $PDF_FONT_NORMAL = "" Global Const $PDF_FONT_BOLD = ",Bold" Global Const $PDF_FONT_ITALIC = ",Italic" Global Const $PDF_FONT_BOLDITALIC = ",BoldItalic" Global $PDF_FONT_STD_HELVETICA = "Helvetica" Global $PDF_FONT_STD_COURIER = "Courier" Global $PDF_FONT_STD_SYMBOL = "Symbol" Global $PDF_FONT_STD_ZAPFDINGBATS = "ZapfDingbats" Global $PDF_FONT_STD_ARIAL = "Helvetica";looks the same Global $PDF_FONT_STD_TIMES = "Times Roman" Global $PDF_FONT_COURIER = $PDF_FONT_STD_COURIER & " New" Global $PDF_FONT_ARIAL = $PDF_FONT_STD_ARIAL Global $PDF_FONT_TIMES = "Times New Roman" Global $PDF_FONT_SYMBOL = $PDF_FONT_STD_SYMBOL Global $PDF_FONT_CALIBRI = "Calibri" Global $PDF_FONT_GARAMOND = "Garamond" Global Const $PDF_ALIGN_LEFT = 1 Global Const $PDF_ALIGN_RIGHT = 2 Global Const $PDF_ALIGN_CENTER = 3 Global Const $PDF_UNIT_PT = 1 Global Const $PDF_UNIT_INCH = 2 Global Const $PDF_UNIT_MM = 4 Global Const $PDF_UNIT_CM = 8 Global Const $PDF_ZOOM_FULLPAGE = 0 Global Const $PDF_ZOOM_FULLWIDTH = 1 Global Const $PDF_ZOOM_REAL = 2 Global Const $PDF_ZOOM_DEFAULT = 4 Global Const $PDF_ZOOM_CUSTOM = 8 Global Const $PDF_LAYOUT_SINGLE = 0 Global Const $PDF_LAYOUT_CONTINOUS = 1 Global Const $PDF_LAYOUT_TWO = 2 Global Const $PDF_LAYOUT_DEFAULT = 4 Global Const $PDF_ORIENTATION_PORTRAIT = 0 Global Const $PDF_ORIENTATION_LANDSCAPE = 1 Global $PDF_OBJECT_NAME = "" Global $PDF_OBJECT_OPTIONS = "" Global Const $PDF_OBJECT_NONE = 0 Global Const $PDF_OBJECT_FIRSTPAGE = 0x1 Global Const $PDF_OBJECT_EVENPAGES = 0x2 Global Const $PDF_OBJECT_ODDPAGES = 0x4 Global Const $PDF_OBJECT_NOTFIRSTPAGE = 0x8 Global Const $PDF_OBJECT_ALLPAGES = BitAND($PDF_OBJECT_EVENPAGES, $PDF_OBJECT_ODDPAGES, $PDF_OBJECT_FIRSTPAGE) Global $BaseFont Global $FirstChar Global $LastChar Global $Param Global $MissingWidth Global $Widths[256] Global $__SetUnit Global $_PaperSize = "A4" Global $_Orientation = $PDF_ORIENTATION_PORTRAIT Global $__SetMargin = 0 Global $_Pages = 0 Global $_CharSpacing Global $_WordSpacing Global $_TextScaling Global $_PageWidth Global $_PageHeight Global $_FileName Global $_Offset = 0 Global $_Font = "" Global $_ZoomMode Global $_LayoutMode Global $_sPage = " " Global $_sFONT Global $_sFONTNAME Global $_Image = "" Global $_sObject Global $_iResource Global $_iPages Global $_iObject = 0 Global $_iMaxObject Global $_iTmpOffset Global $_iImageW Global $_iImageH Global $_Buffer = "" Global $_bOpen = False Global $aXREF[1000] Global $aOBJECTS[2] = [$PDF_OBJECT_NAME, $PDF_OBJECT_OPTIONS] #endregion CONSTANTS #region FUNCTIONS ; #FUNCTION# ==================================================================================================================== ; Name ..........: _BeginPage ; Description ...: Begin a new page ; Syntax ........: _BeginPage( [ $iRotate ] ) ; Parameters ....: $iRotate - [optional] multiple of 90 (default = 0). ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: July 05, 2011 ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _BeginPage($iRotate = 0) Local $intPage If BitAND($iRotate <> 0, Mod($iRotate, 90) <> 0, $iRotate <> "") Then MsgBox(48, "Error", "When seting rotation of the page, it has to be multiple of 90 or 0!" & @CRLF & "Try again.", 3) Exit EndIf $_Pages += 1 $intPage = __InitObj() __ToBuffer("<</Type /Page /Parent 3 0 R /Contents " & $intPage + 1 & " 0 R /Rotate " & $iRotate & ">>") __EndObj() $_sPage &= $intPage & " 0 R " __InitObj($intPage + 1) __ToBuffer("<< /Length " & $intPage + 2 & " 0 R >>" & @CRLF & "stream") $_iTmpOffset = $_Offset __InsertObjectOnPage() $_CharSpacing = 0 $_WordSpacing = 0 $_TextScaling = 100 Return $_Pages EndFunc ;==>_BeginPage ; #FUNCTION# ==================================================================================================================== ; Name ..........: _ClosePDFFile ; Description ...: Write the buffer to the pdf ; Syntax ........: _ClosePDFFile( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: _InitPDF() ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _ClosePDFFile() $_iResource = __InitObj(4) __ToBuffer("<<" & _ _Iif($_sFONT <> "", "/Font<<" & $_sFONT & ">>", "") & _ "/ProcSet [/PDF/Text" & _Iif($_Image <> "", "/ImageB/ImageC/ImageI", "") & "]" & _ _Iif(($_Image <> "") Or ($_sObject <> ""), "/XObject <<" & $_Image & $_sObject & ">>", "") & ">>") __EndObj() $_iPages = __InitObj(3) __ToBuffer("<</Type /Pages /Count " & $_Pages & " /MediaBox [0 0 " & __ToStr($_PageWidth, 1) & " " & __ToStr($_PageHeight, 1) & "] " & _ "/CropBox [" & __ToStr($__SetMargin) & " " & __ToStr($__SetMargin) & " " & __ToStr($_PageWidth - $__SetMargin, 1) & " " & __ToStr($_PageHeight - $__SetMargin, 1) & "] " & _ _Iif($_Orientation = $PDF_ORIENTATION_LANDSCAPE, "/Rotate -90", "") & "/Kids [" & $_sPage & "] " & "/Resources " & $_iResource & " 0 R>>") __EndObj() __ToBuffer("xref") __ToBuffer("0 " & $_iMaxObject + 1) __ToBuffer("0000000000 65535 f") For $i = 1 To $_iMaxObject __ToBuffer($aXREF[$i]) Next __ToBuffer("trailer" & @CRLF & _ "<< /Size " & $_iMaxObject + 1 & "/Info 1 0 R" & "/Root 2 0 R" & ">>") __ToBuffer("startxref" & @CRLF & StringLen("startxref" & @CRLF & $_Buffer & "%%EOF" & @CRLF) + 6) $_FileName = FileOpen($PDF_NAME, 18) FileWrite($_FileName, $_Buffer & "%%EOF" & @CRLF) FileClose($_FileName) If $_bOpen Then ShellExecute($PDF_NAME) EndFunc ;==>_ClosePDFFile ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Draw_Path ; Description ...: Draws a N segmented line, each line segment is expressed as N repeating sub segments. ; Each sub segment has its own "PEN DOWN" length, color and cap type followed by a "PEN UP" length ; Syntax ........: _Draw_Path( ByRef Const $iXY, ByRef Const $iDU ) ; Parameters ....: $iXY is a 2 dimensional array where: ; $iXY[0][0] contains the number of points in the path ; $iXY[0][1] contains the coordinate type 0 = absolute to 0,0 of page, 1=relative to previous coordinate ; $iXY[N][0] X or distance from left of page or previous point ; $iXY[N][1] Y or distance from bottom of page or previous point ; : $iDU is a 1 or 2 dimensional array where: ; for a solid line $iDU[0]= Line width ; $iDU[1]= Line cap type ; $iDU[2]= Line color ; for a "DASHED" line $iDU[0][0]= number of sub segments before repeating ; $iDU[N][0]= Number of "PEN DOWN" units for the Nth sub segment ; $iDU[N][1]= Line width for the Nth sub segment ; $iDU[N][2]= Line cap type for the Nth sub segment ; $iDU[N][3]= Line color for the Nth sub segment ; $iDU[N][4]= Number of "PEN UP" units for the Nth sub segment ; Return values .: None ; Author(s) .....: StuffByDennis ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func _Draw_Path(ByRef Const $iXY, ByRef Const $iDU) Local $i, $j, $X, $Y, $X0, $X1, $Y0, $Y1, $ODX, $ODY, $DX, $DY, $Theta, $SIN, $COS _SetDash(0) $X0 = 0 $Y0 = 0 If UBound($iDU, 0) = 1 Then _SetLineCap($iDU[1]) _SetLineWidth($iDU[0]) _SetColourStroke($iDU[2]) For $i = 1 To $iXY[0][0] - 1 If $iXY[0][1] = 0 Then $X0 = $iXY[$i][0] $Y0 = $iXY[$i][1] $X1 = $iXY[$i + 1][0] $Y1 = $iXY[$i + 1][1] Else $X0 += $iXY[$i][0] $Y0 += $iXY[$i][1] $X1 = $X0 + $iXY[$i + 1][0] $Y1 = $Y0 + $iXY[$i + 1][1] EndIf _MoveTo($X0, $Y0) _LineTo($X1, $Y1, $PDF_STYLE_STROKED) Next Else For $i = 1 To $iXY[0][0] - 1 If $iXY[0][1] = 0 Then $X0 = $iXY[$i][0] $Y0 = $iXY[$i][1] $X1 = $iXY[$i + 1][0] $Y1 = $iXY[$i + 1][1] Else $X0 += $iXY[$i][0] $Y0 += $iXY[$i][1] $X1 = $X0 + $iXY[$i + 1][0] $Y1 = $Y0 + $iXY[$i + 1][1] EndIf $ODX = $X1 - $X0 $ODY = $Y1 - $Y0 $X = $X0 $Y = $Y0 If $ODX <> 0 And $ODY <> 0 Then $Theta = ATan($ODY / $ODX) $SIN = -Sin($Theta) $COS = -Cos($Theta) EndIf $j = 1 Select Case $ODY = 0 ; Horizontal Select Case $ODX < 0;Due-West While $X > $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y0) $X -= $iDU[$j][0] If $X < $X1 Then $X = $X1 _LineTo($X, $Y1, $PDF_STYLE_STROKED) $X -= $iDU[$j][4] $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case Else ;Due-East While $X < $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y0) $X += $iDU[$j][0] If $X > $X1 Then $X = $X1 _LineTo($X, $Y1, $PDF_STYLE_STROKED) $X += $iDU[$j][4] $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd EndSelect Case $ODY > 0 ; North Select Case $ODX = 0 ;Due North While $Y < $Y1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $Y += $iDU[$j][0] If $Y > $Y1 Then $Y = $Y1 _LineTo($X, $Y, $PDF_STYLE_STROKED) $Y += $iDU[$j][4] $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case $ODX < 0;North-West While $Y < $Y1 And $X > $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $DX = -$iDU[$j][0] * $COS If $X - $DX < $X1 Then $X = $X1 + $DX $DY = $iDU[$j][0] * $SIN If $Y + $DY > $Y1 Then $Y = $Y1 - $DY _LineTo($X - $DX, $Y + $DY, $PDF_STYLE_STROKED) $X = $X - $DX + $iDU[$j][4] * $COS $Y = $Y + $DY + $iDU[$j][4] * $SIN $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case Else;North-East While $Y < $Y1 And $X < $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $DX = -$iDU[$j][0] * $COS If $X + $DX > $X1 Then $X = $X1 - $DX $DY = -$iDU[$j][0] * $SIN If $Y + $DY > $Y1 Then $Y = $Y1 - $DY _LineTo($X + $DX, $Y + $DY, $PDF_STYLE_STROKED) $X += $DX - $iDU[$j][4] * $COS $Y += $DY - $iDU[$j][4] * $SIN $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd EndSelect Case Else ; South Select Case $ODX = 0;Due South While $Y > $Y1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $Y -= $iDU[$j][0] If $Y < $Y1 Then $Y = $Y1 _LineTo($X, $Y, $PDF_STYLE_STROKED) $Y -= $iDU[$j][4] $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case $ODX > 0;South-East While $Y > $Y1 And $X < $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $DX = -$iDU[$j][0] * $COS If $X + $DX > $X1 Then $X = $X1 - $DX $DY = $iDU[$j][0] * $SIN If $Y - $DY < $Y1 Then $Y = $Y1 + $DY _LineTo($X + $DX, $Y - $DY, $PDF_STYLE_STROKED) $X = $X + $DX - $iDU[$j][4] * $COS $Y = $Y - $DY - $iDU[$j][4] * $SIN $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd Case Else ; South-West While $Y > $Y1 And $X > $X1 _SetLineCap($iDU[$j][2]) _SetLineWidth($iDU[$j][1]) _SetColourStroke($iDU[$j][3]) _MoveTo($X, $Y) $DX = -$iDU[$j][0] * $COS If $X - $DX < $X1 Then $X = $X1 + $DX $DY = -$iDU[$j][0] * $SIN If $Y - $DY < $Y1 Then $Y = $Y1 + $DY _LineTo($X - $DX, $Y - $DY, $PDF_STYLE_STROKED) $X = $X - $DX + $iDU[$j][4] * $COS $Y = $Y - $DY + $iDU[$j][4] * $SIN $j += 1 If $j > $iDU[0][0] Then $j = 1 WEnd EndSelect EndSelect Next EndIf _SetLineCap(0) _SetLineWidth(0) _SetColourStroke(0) EndFunc ;==>_Draw_Path ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Draw_Polygon ; Description ...: Draws a N sided filled polygon ; The perimiter is drawn by the _Draw_Path function. ; Syntax ........: _Draw_Polygon( ByRef Const $iXY, $iFC, ByRef Const $iDU ) ; Parameters ....: $iXY (See _Draw_Path for description) ; : $iFC polygon fill color ; : $iDU (See _Draw_Path for description) ; Return values .: None ; Author(s) .....: StuffByDennis ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func _Draw_Polygon(ByRef Const $iXY, $fillColor, $iDU) Local $i, $X0, $Y0 _SetLineWidth(0) _SetColourFill($fillColor) __ToBuffer("n") $X0 = $iXY[1][0] $Y0 = $iXY[1][1] _MoveTo($X0, $Y0) For $i = 2 To $iXY[0][0] If $iXY[0][1] = 0 Then $X0 = $iXY[$i][0] $Y0 = $iXY[$i][1] Else $X0 += $iXY[$i][0] $Y0 += $iXY[$i][1] EndIf _LineTo($X0, $Y0, $PDF_STYLE_NONE) Next _Path($PDF_STYLE_STROKED) _SetLineWidth(0) If $iDU[1][0] = 0 Then Return _Draw_Path($iXY, $iDU) EndFunc ;==>_Draw_Polygon ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Draw_Rectangle ; Description ...: Draw _Rectangle ; Syntax ........: _Draw_Rectangle( $iX , $iY , $iW , $iH [, $sStyle [, $iRadius [, $lFillColour [, ; $iBorderWidth ]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $iW - integer value. ; $iH - integer value. ; $sStyle - [optional] string value. ; $iRadius - [optional] integer value. ; $iFillColour - [optional] RGB value. ; $iBorderWidth - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Draw_Rectangle($iX, $iY, $iW, $iH, $sStyle = $PDF_STYLE_STROKED, $iRadius = 0, $iFillColour = 0, $iBorderWidth = 0.05) _SetLineWidth($iBorderWidth) _SetColourFill($iFillColour) _Rectangle($iX, $iY, $iW, $iH, $sStyle, $iRadius) _SetColourFill(0) _SetLineWidth(0) EndFunc ;==>_Draw_Rectangle ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawCircle ; Description ...: Draw circle ; Syntax ........: _DrawCircle( $x , $y , $iRadius [, $sStyle = $PDF_STYLE_STROKED ] ) ; Parameters ....: $x - unknown value. ; $y - unknown value. ; $iRadius - unknown value. ; $sStyle - [optional] string value. ; $PDF_STYLE_STROKED - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawCircle($X, $Y, $iRadius, $sStyle = $PDF_STYLE_STROKED) _MoveTo($X, $Y - $iRadius) __Curve($X + 0.55 * $iRadius, $Y - $iRadius, $X + $iRadius, $Y - 0.55 * $iRadius, $X + $iRadius, $Y, $PDF_STYLE_NONE) __Curve($X + $iRadius, $Y + 0.55 * $iRadius, $X + 0.55 * $iRadius, $Y + $iRadius, $X, $Y + $iRadius, $PDF_STYLE_NONE) __Curve($X - 0.55 * $iRadius, $Y + $iRadius, $X - $iRadius, $Y + 0.55 * $iRadius, $X - $iRadius, $Y, $PDF_STYLE_NONE) __Curve($X - $iRadius, $Y - 0.55 * $iRadius, $X - 0.55 * $iRadius, $Y - $iRadius, $X, $Y - $iRadius, $PDF_STYLE_NONE) _Path($sStyle) EndFunc ;==>_DrawCircle ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawCurve ; Description ...: Draw a curved line ; Syntax ........: _DrawCurve( $iX , $iY , $iX1 , $iY1 , $iX2 , $iY2 , $iX3 , $iY3 [, $lStyle , $PDF_STYLE_STROKED [, $iDash1 [, ; $iDash2 ]]] ) ; Parameters ....: $iX1 - X value of the first point. ; $iY1 - Y value of the first point. ; $iX2 - X value of the second point. ; $iY2 - Y value of the second point. ; $iX3 - X value of the third point. ; $iY3 - Y value of the third point. ; $iX4 - X value of the fourth point. ; $iY4 - Y value of the fourth point. ; $lStyle - [optional] style of the line (default = STROKED) ; $iDash1 - [optional] integer value. ; $iDash2 - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawCurve($iX1, $iY1, $iX2, $iY2, $iX3, $iY3, $iX4, $iY4, $lStyle = $PDF_STYLE_STROKED, $iDash1 = 0, $iDash2 = 0) If $iDash1 = 0 And $iDash2 = 0 Then _SetDash(0) Else _SetDash($iDash1, $iDash2) EndIf _MoveTo($iX1, $iY1) __Curve($iX2, $iY2, $iX3, $iY3, $iX4, $iY4, $lStyle) _SetDash(0) EndFunc ;==>_DrawCurve ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawLine ; Description ...: Draw a line ; Syntax ........: _DrawLine( $iXStart , $iYStart , $iXEnd , $iYEnd [, $sStyle , $PDF_STYLE_STROKED [, $iLineCap [, ; $iLineWidth [, $lColourStroke [, $iDash1 [, $iDash2 ]]]]]] ) ; Parameters ....: $iXStart - integer value. ; $iYStart - integer value. ; $iXEnd - integer value. ; $iYEnd - integer value. ; $sStyle - [optional] string value (default = STROKED). ; $iLineCap - [optional] integer value. ; $iLineWidth - [optional] integer value. ; $lColourStroke - [optional] unknown value. ; $iDash1 - [optional] integer value. ; $iDash2 - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawLine($iXStart, $iYStart, $iXEnd, $iYEnd, $sStyle = $PDF_STYLE_STROKED, $iLineCap = 1, $iLineWidth = 0.05, $lColourStroke = 0x000000, $iDash1 = 0, $iDash2 = 0) If $iDash1 = 0 And $iDash2 = 0 Then _SetDash(0) Else _SetDash($iDash1, $iDash2) EndIf _SetLineCap($iLineCap) _SetLineWidth($iLineWidth) _SetColourStroke($lColourStroke) _MoveTo($iXStart, $iYStart) _LineTo($iXEnd, $iYEnd, $sStyle) _SetLineCap(0) _SetLineWidth(0) _SetColourStroke(0) _SetDash(0) EndFunc ;==>_DrawLine ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DrawText ; Description ...: Write text ; Syntax ........: _DrawText( $iX , $iY , $sText , $sFontAlias , $iFontSize [, $iAlign , $PDF_ALIGN_LEFT [, $iRotate ]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $sText - string value. ; $sFontAlias - string value. ; $iFontSize - integer value. ; $iAlign - [optional] integer value. ; $PDF_ALIGN_LEFT - unknown value. ; $iRotate - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _DrawText($iX, $iY, $sText, $sFontAlias, $iFontSize, $iAlign = $PDF_ALIGN_LEFT, $iRotate = 0) Local $PI Local $sTeta Local $cTeta Local $C Local $l Switch $iAlign Case $PDF_ALIGN_LEFT Case $PDF_ALIGN_RIGHT $l = _GetTextLength($sText, $sFontAlias, $iFontSize) $iX -= $l Case $PDF_ALIGN_CENTER $l = _GetTextLength($sText, $sFontAlias, $iFontSize) $iX -= $l / 2 EndSwitch __ToBuffer("BT") __ToBuffer("/" & $sFontAlias & " " & __ToStr($iFontSize) & " Tf") If $iRotate <> 0 Then $PI = 3.141592 $C = $PI / 180 $sTeta = Sin($C * $iRotate) $cTeta = Cos($C * $iRotate) __ToBuffer(__ToStr($cTeta) & " " & __ToStr($sTeta) & " " & __ToStr(-$sTeta) & " " & __ToStr($cTeta) & " " & __ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " Tm") Else __ToBuffer(__ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " Td") EndIf __ToBuffer("(" & __ToPdfStr($sText) & ") Tj") __ToBuffer("ET") EndFunc ;==>_DrawText ; #FUNCTION# ==================================================================================================================== ; Name ..........: _EndObject ; Description ...: End editing the current object ; Syntax ........: _EndObject( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: _StartObject() ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _EndObject() $_iTmpOffset = $_Offset - $_iTmpOffset __ToBuffer("endstream") __EndObj() __InitObj() __ToBuffer($_iTmpOffset) __EndObj() EndFunc ;==>_EndObject ; #FUNCTION# ==================================================================================================================== ; Name ..........: _EndPage ; Description ...: End the currend page ; Syntax ........: _EndPage( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: _BeginPage() ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _EndPage() $_iTmpOffset = $_Offset - $_iTmpOffset __ToBuffer("endstream") __EndObj() ; Scrie dimensiunea __InitObj() __ToBuffer($_iTmpOffset) __EndObj() EndFunc ;==>_EndPage ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetMargin ; Description ...: Get the working area's margin ; Syntax ........: _GetMargin( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetMargin() Return $__SetMargin EndFunc ;==>_GetMargin ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetPageHeight ; Description ...: Get the height of the page ; Syntax ........: _GetPageHeight( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetPageHeight() Return $_PageHeight EndFunc ;==>_GetPageHeight ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetPageWidth ; Description ...: Get the width of the page ; Syntax ........: _GetPageWidth( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetPageWidth() Return $_PageWidth EndFunc ;==>_GetPageWidth ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetTextLength ; Description ...: Get the length of a string ; Syntax ........: _GetTextLength( $sText , $sFontAlias , $iFontSize ) ; Parameters ....: $sText - string value. ; $sFontAlias - string value. ; $iFontSize - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetTextLength($sText, $sFontAlias, $iFontSize) Local $k = StringInStr($_sFONTNAME, "<" & $sFontAlias & ">") Local $C Local $l = StringLen($sText) Local $j = 0 If $k > 0 Then $k += StringLen($sFontAlias) + 2 For $i = 1 To $l $C = Asc(StringMid($sText, $i, 1)) ;$k += _Iif(($C >= $FirstChar) And ($C <= $LastChar), $Widths[$C], $MissingWidth) $k += ( ( ($C >= $FirstChar) And ($C <= $LastChar) ) ? ( $Widths[$C] ) : ( $MissingWidth) ) If $C = 32 Then $j += 1 Next EndIf Return __ToUser((($k * $iFontSize / 1000) + ($j * $_WordSpacing) + ($l * $_CharSpacing)) * ($_TextScaling / 100)) EndFunc ;==>_GetTextLength ; #FUNCTION# ==================================================================================================================== ; Name ..........: _GetUnit ; Description ...: Get the unit used ; Syntax ........: _GetUnit( ) ; Parameters ....: ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _GetUnit() Local $lRet Switch $__SetUnit Case $PDF_UNIT_PT $lRet = 1 Case $PDF_UNIT_INCH $lRet = 72 Case $PDF_UNIT_CM $lRet = 72 / 2.54 Case $PDF_UNIT_MM $lRet = 72 / 25.4 EndSwitch Return $lRet EndFunc ;==>_GetUnit ; #FUNCTION# ==================================================================================================================== ; Name ..........: _InitPDF ; Description ...: Initialize the pdf ; Syntax ........: _InitPDF( [$sFileName] ) ; Parameters ....: $sFileName - [optional] string value. ; $PDF_NAME - unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _InitPDF($sFileName = "") __ToBuffer($PDF_VERSION) $_iMaxObject = 0 __InitObj(1) __ToBuffer("<</Title(" & __ToPdfStr($PDF_TITLE) & ")/Author(" & __ToPdfStr($PDF_AUTHOR) & ")/Creator(" & __ToPdfStr($PDF_CREATOR) & ")/Producer(" & __ToPdfStr($PDF_COPYRIGHT) & ") /Keywords(" & __ToPdfStr($PDF_KEYWORDS) & ")/Subject(" & __ToPdfStr($PDF_SUBJECT) & ")/CreationDate(D:" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & "+02'00')/ModDate()>>") __EndObj() __InitObj(2) __ToBuffer("<</Type/Catalog/Pages 3 0 R") Switch $_LayoutMode Case $PDF_LAYOUT_SINGLE __ToBuffer("/PageLayout /SinglePage") Case $PDF_LAYOUT_CONTINOUS __ToBuffer("/PageLayout /OneColumn") Case $PDF_LAYOUT_TWO __ToBuffer("/PageLayout /TwoColumnLeft") EndSwitch Switch $_ZoomMode Case $PDF_ZOOM_FULLPAGE __ToBuffer("/OpenAction [1 0 R /Fit]") Case $PDF_ZOOM_FULLWIDTH __ToBuffer("/OpenAction [1 0 R null /FitH]") Case $PDF_ZOOM_REAL __ToBuffer("/OpenAction [1 0 R /XYZ null " & $_PageHeight & " 1]") Case Int($_ZoomMode) __ToBuffer("/OpenAction [1 0 R /XYZ null " & $_PageHeight & " " & StringReplace(StringFormat($_ZoomMode, "###0." & 2), ",", ".") / 100 & "]") EndSwitch __ToBuffer("/PageMode/UseNone/Lang (en) >>") __EndObj() $_iMaxObject = 4;4;VERIFICA AICIIIIIIIIIIIIIIIIIIIII $PDF_NAME = $sFileName EndFunc ;==>_InitPDF ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Insert3DCube ; Description ...: Insert a 3D shape ; Syntax ........: _Insert3DCube( $iX , $iY , $iW , $iH [, $iEndColour [, $fDepth [, $iRadius [, $iBorderWidth ]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $iW - integer value. ; $iH - integer value. ; $iEndColour - [optional] integer value. ; $fDepth - [optional] boolean value. ; $iRadius - [optional] integer value. ; $iBorderWidth - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Insert3DCube($iX, $iY, $iW, $iH, $iEndColour = 0x0000ff, $fDepth = 0.5, $iRadius = 0.1, $iBorderWidth = 0.02) Local $Ri, $Rf, $Rs, $Gi, $Gf, $Gs, $Bi, $Bf, $Bs, $m = $fDepth Local $lFillColour = 0x000000 $Bi = Mod($lFillColour, 256) $Gi = BitAND($lFillColour / 256, 255) $Ri = BitAND($lFillColour / 65536, 255) $Bf = Mod($iEndColour, 256) $Gf = BitAND($iEndColour / 256, 255) $Rf = BitAND($iEndColour / 65536, 255) $Bs = Abs($Ri - $Rf) / $m $Gs = Abs($Gi - $Gf) / $m $Rs = Abs($Bi - $Bf) / $m If $Rf < $Ri Then $Rs = -$Rs If $Gf < $Gi Then $Gs = -$Gs If $Bf < $Bi Then $Bs = -$Bs For $i = 0 To $fDepth Step 0.02 $Rf = $Ri + $Rs * $i $Gf = $Gi + $Gs * $i $Bf = $Bi + $Bs * $i Local $lFillColour2 = Dec(Hex($Bf, 2) & Hex($Gf, 2) & Hex($Rf, 2)) _SetColourStroke($lFillColour2) _SetColourFill($lFillColour2) _SetLineWidth($iBorderWidth) _Rectangle($iX + $fDepth - $i, $iY + $fDepth - $i, $iW, $iH, $PDF_STYLE_FILLED, $iRadius) _SetColourFill(0) _SetColourStroke(0) _SetLineWidth(0) Next EndFunc ;==>_Insert3DCube ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Insert3DPie ; Description ...: Draw a pie ; Syntax ........: _Insert3DPie( $iX , $iY [, $iRadius [, $iStartAngle [, $iEndAngle [, $iEndColour [, $fDepth [, $iRatio [, ; $bPie [, $iRotate [, $iQuality [, $sStyle , $PDF_STYLE_FILLED [, $iBorderWidth ]]]]]]]]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $iRadius - [optional] integer value. ; $iStartAngle - [optional] integer value. ; $iEndAngle - [optional] integer value. ; $iEndColour - [optional] integer value. ; $fDepth - [optional] boolean value. ; $iRatio - [optional] integer value. ; $bPie - [optional] binary value. ; $iRotate - [optional] integer value. ; $iQuality - [optional] integer value. ; $sStyle - [optional] string value. ; $iBorderWidth - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Insert3DPie($iX, $iY, $iRadius = 2.5, $iStartAngle = 0, $iEndAngle = 360, $iEndColour = 0x888888, $fDepth = 0.2, $iRatio = 1, $bPie = True, $iRotate = 0, $iQuality = 1, $sStyle = $PDF_STYLE_FILLED, $iBorderWidth = 0.02) Local $Ri, $Rf, $Rs, $Gi, $Gf, $Gs, $Bi, $Bf, $Bs, $m = $fDepth Local $lFillColour = 0x000000 $Bi = Mod($lFillColour, 256) $Gi = BitAND($lFillColour / 256, 255) $Ri = BitAND($lFillColour / 65536, 255) $Bf = Mod($iEndColour, 256) $Gf = BitAND($iEndColour / 256, 255) $Rf = BitAND($iEndColour / 65536, 255) $Bs = Abs($Ri - $Rf) / $m $Gs = Abs($Gi - $Gf) / $m $Rs = Abs($Bi - $Bf) / $m If $Rf < $Ri Then $Rs = -$Rs If $Gf < $Gi Then $Gs = -$Gs If $Bf < $Bi Then $Bs = -$Bs _SetLineWidth($iBorderWidth) Local $lFillColour2 For $i = 0 To $fDepth Step 0.02 $Rf = $Ri + $Rs * $i $Gf = $Gi + $Gs * $i $Bf = $Bi + $Bs * $i $lFillColour2 = Dec(Hex($Bf, 2) & Hex($Gf, 2) & Hex($Rf, 2)) _SetColourStroke($lFillColour2) _SetColourFill($lFillColour2) _SetLineWidth($iBorderWidth) _DrawArc($iX - $i, $iY - $i, $iRadius, $iStartAngle, $iEndAngle, $iRatio, $bPie, $iRotate, $iQuality, $sStyle) Next _SetColourStroke(0) _SetColourFill(0) _SetLineWidth(0) EndFunc ;==>_Insert3DPie ; #FUNCTION# ==================================================================================================================== ; Name ..........: _InsertImage ; Description ...: Insert a image in the pdf ; Syntax ........: _InsertImage( $sAlias , $iX , $iY [, $iW [, $iH ]] ) ; Parameters ....: $sAlias - string value. ; $iX - integer value. ; $iY - integer value. ; $iW - [optional] integer value. ; $iH - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _InsertImage($sAlias, $iX, $iY, $iW = 0, $iH = 0) If $iW = 0 And $iH = 0 Then $iW = $_iImageW / _GetUnit() $iH = $_iImageH / _GetUnit() EndIf __ToBuffer("q" & @CRLF & __ToStr(__ToSpace($iW)) & " " & " 0 0 " & __ToStr(__ToSpace($iH)) & " " & __ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " cm" & _ @CRLF & "/" & $sAlias & " Do" & @CRLF & "Q") EndFunc ;==>_InsertImage ; #FUNCTION# ==================================================================================================================== ; Name ..........: _InsertRenderedText ; Description ...: Insert rendered text ; Syntax ........: _InsertRenderedText( $iX , $iY , $sText , $sAlias [, $_FontSize [, $iScale [, $sAlign = $PDF_ALIGN_LEFT [, ; $iFillColour [, $iOutlineColour ]]]]] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $sText - string value. ; $sAlias - string value. ; $_FontSize - [optional] unknown value. ; $iScale - [optional] integer value. ; $sAlign - [optional] string value. ; $iFillColour - [optional] RGB value. ; $iOutlineColour - [optional] RGB value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _InsertRenderedText($iX, $iY, $sText, $sAlias, $_FontSize = 64, $iScale = 100, $sAlign = $PDF_ALIGN_LEFT, $iFillColour = 0x996600, $iOutlineColour = 0x111111) _SetColourFill($iFillColour) _SetColourStroke($iOutlineColour) _SetTextRenderingMode(2) _SetTextHorizontalScaling($iScale) _DrawText($iX, $iY, $sText, $sAlias, $_FontSize, $sAlign) _SetTextRenderingMode(0) _SetTextHorizontalScaling(100) _SetColourFill(0) _SetColourStroke(0) EndFunc ;==>_InsertRenderedText ; #FUNCTION# ==================================================================================================================== ; Name ..........: _LineTo ; Description ...: Append straight line segment to path ; Syntax ........: _LineTo( $iX , $iY [, $sStyle = $PDF_STYLE_STROKED ] ) ; Parameters ....: $iX - integer value. ; $iY - integer value. ; $sStyle - [optional] string value. ; |$PDF_STYLE_STROKED ; $PDF_STYLE_FILLED ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _LineTo($iX, $iY, $sStyle = $PDF_STYLE_STROKED) __ToBuffer(__ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " l") _Path($sStyle) EndFunc ;==>_LineTo ; #FUNCTION# ==================================================================================================================== ; Name ..........: _LoadFontStandard ; Description ...: Load standard font (Type 1) ; Courier Helvetica Times-Roman Symbol ; Courier-Bold Helvetica-Bold Times-Bold ZapfDingbats ; Courier-Oblique Helvetica-Oblique Times-Italic ; Courier-BoldOblique Helvetica-BoldOblique Times-BoldItalic ; Syntax ........: _LoadFontStandard( $sAlias , $BaseFont [, $sOptions ] ) ; Parameters ....: $sAlias - an alias for the font, to use in the script. ; $BaseFont - one of the following ; |$PDF_FONT_STD_HELVETICA ; |$PDF_FONT_STD_COURIER ; |$PDF_FONT_STD_SYMBOL ; |$PDF_FONT_STD_ZAPFDINGBATS ; |$PDF_FONT_STD_ARIAL ; |$PDF_FONT_STD_TIMES ; $sOptions - [optional] style value. ; |$PDF_FONT_NORMAL = 0 ; |$PDF_FONT_BOLD = 1 ; |$PDF_FONT_ITALIC = 2 ; |$PDF_FONT_BOLDITALIC = 4 ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _LoadFontStandard($sAlias, $BaseFont, $sOptions = $PDF_FONT_NORMAL) Local $sTemp $BaseFont = StringReplace($BaseFont, " ", "") Switch $sOptions Case $PDF_FONT_BOLD $sTemp = ",Bold" Case $PDF_FONT_BOLDITALIC $sTemp = ",BoldItalic" Case $PDF_FONT_ITALIC $sTemp = ",Italic" EndSwitch Local $i = __InitObj() __ToBuffer("<< /Type/Font/Subtype/Type1/Name/" & $sAlias & "/BaseFont/" & $BaseFont & $sTemp & "/Encoding/WinAnsiEncoding >>") __EndObj() $_sFONT = $_sFONT & "/" & $sAlias & " " & $i & " 0 R " & @CRLF EndFunc ;==>_LoadFontStandard ; #FUNCTION# ==================================================================================================================== ; Name ..........: _LoadFontTT ; Description ...: Load one of the True Type Fonts included ; Syntax ........: _LoadFontTT( $sAlias , $BaseFont [, $sOptions] ) ; Parameters ....: $sAlias - string value. ; $BaseFont - one of the following: ; |$PDF_FONT_COURIER ; |$PDF_FONT_ARIAL ; |$PDF_FONT_TIMES ; |$PDF_FONT_SYMBOL ; $sOptions - [optional] font style (normal, bold, bold-italic). ; |$PDF_FONT_NORMAL = 0 ; |$PDF_FONT_BOLD = 1 ; |$PDF_FONT_ITALIC = 2 ; |$PDF_FONT_BOLDITALIC = 4 ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _LoadFontTT($sAlias, $BaseFont, $sOptions = $PDF_FONT_NORMAL) Local $sTemp = "" $_Font = $_Font + 1 $BaseFont = StringReplace($BaseFont, " ", "") Switch $BaseFont Case "TimesNewRoman" __FontTimes($sOptions) Case "CourierNew" __FontCourier($sOptions) Case "Symbol" __FontSymbol($sOptions) Case "Calibri" __FontCalibri($sOptions) Case "Garamond" __FontGaramond($sOptions) Case Else __FontArial($sOptions) EndSwitch Local $i = __InitObj() __ToBuffer("<< /Type/Font/Subtype/TrueType/Name/" & $sAlias & "/BaseFont/" & $BaseFont & $sOptions & "/FirstChar " & $FirstChar & "/LastChar " & $LastChar & "/FontDescriptor " & $i + 1 & " 0 R/Encoding/WinAnsiEncoding/Widths [") For $j = $FirstChar To $LastChar If $Widths[$j - $FirstChar] <> 0 Then $sTemp &= __ToStr($Widths[$j - $FirstChar]) & " " If Mod($j - $FirstChar + 1, 16) = 0 Or $j = $LastChar Then __ToBuffer($sTemp) $sTemp = "" EndIf EndIf Next __ToBuffer("] >>") __EndObj() $_sFONT = $_sFONT & "/" & $sAlias & " " & $i & " 0 R " & @CRLF $_sFONTNAME = $_sFONTNAME & "<" & $sAlias & ">" & StringRight("0000" & $_Font, 4) & ";" ;$i = __InitObj() __ToBuffer("<< /Type/FontDescriptor/FontName/" & $BaseFont & $Param & ">>") __EndObj() EndFunc ;==>_LoadFontTT ; #FUNCTION# ==================================================================================================================== ; Name ..........: _LoadResImage ; Description ...: Load a image in the pdf (if you use it multiple times it decreases the size of the pdf) ; Syntax ........: _LoadResImage( $sImgAlias , $sImage ) ; Parameters ....: $sImgAlias - an alias to identify the image in the pdf (e.g. "Cheese"). ; $sImage - image path. ; Return values .: Success - True ; Failure - False ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: Image types accepted: BMP, GIF, TIF, TIFF, PNG, JPG, JPEG (those are tested) ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _LoadResImage($sImgAlias, $sImage) Local $iW, $iH, $ImgBuf, $hImage, $hImageExt, $newImg, $hClone, $hGraphics, $iObj If $sImgAlias = "" Then __Error("You don't have an alias for the image", @ScriptLineNumber) If $sImage = "" Then __Error("You don't have any images to insert or the path is invalid", @ScriptLineNumber) Else $hImageExt = StringUpper(StringRight($sImage, 3)) $newImg = _TempFile(@ScriptDir, "~", ".jpg") Switch $hImageExt Case "BMP", "GIF", "TIF", "TIFF", "PNG", "JPG", "JPEG", "ICO" _GDIPlus_Startup() $hImage = _GDIPlus_ImageLoadFromFile($sImage) $iW = _GDIPlus_ImageGetWidth($hImage) $iH = _GDIPlus_ImageGetHeight($hImage) $hClone = _GDIPlus_BitmapCloneArea($hImage, 0, 0, $iW, $iH, $GDIP_PXF24RGB) $hGraphics = _GDIPlus_ImageGetGraphicsContext($hClone) _GDIPlus_GraphicsSetSmoothingMode($hGraphics, 2) _GDIPlus_GraphicsClear($hGraphics, 0xFFFFFFFF) _GDIPlus_GraphicsDrawImage($hGraphics, $hImage, 0, 0) _GDIPlus_ImageSaveToFile($hClone, $newImg) $ImgBuf = __ToBinary($newImg) $_iImageW = $iW $_iImageH = $iH $iObj = __InitObj() __ToBuffer("<</Type /XObject /Subtype /Image /Name /" & $sImgAlias & " /Width " & $_iImageW & " /Height " & $_iImageH & " /Filter /DCTDecode /ColorSpace /DeviceRGB /BitsPerComponent 8" & " /Length " & $iObj + 1 & " 0 R" & ">>") __ToBuffer("stream" & @CRLF & $ImgBuf & @CRLF & "endstream") __EndObj() $_Image &= "/" & $sImgAlias & " " & $iObj & " 0 R " & @CRLF __InitObj() __ToBuffer(StringLen($ImgBuf)) __EndObj() _GDIPlus_ImageDispose($hImage) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_BitmapDispose($hClone) _GDIPlus_Shutdown() FileDelete($newImg) Case Else __Error("The image is invalid", @ScriptLineNumber) Exit EndSwitch EndIf Return $_Image EndFunc ;==>_LoadResImage ; #FUNCTION# ==================================================================================================================== ; Name ..........: _OpenAfter ; Description ...: Choose to open or not the pdf after generating ; Syntax ........: _OpenAfter( [ $bO ] ) ; Parameters ....: $bO - [optional] True/False. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _OpenAfter($bO = True) $_bOpen = $bO EndFunc ;==>_OpenAfter ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Paragraph ; Description ...: Insert paragraph on page ; Syntax ........: _Paragraph( $sText , $iX , $iY [, $iWidth [, $sFontAlias [, $iFontSize [, $iRotate ]]]] ) ; Parameters ....: $sText - text string. ; $iX - left value. ; $iY - top value. ; $iWidth - [optional] width. ; $sFontAlias - [optional] font alias. ; $iFontSize - [optional] font size. ; $iRotate - [optional] angle. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _Paragraph($sText, $iX, $iY, $iWidth = 0, $sFontAlias = "", $iFontSize = 12, $iRotate = 0) _SetColourFill(0) _SetColourStroke(0) _SetTextRenderingMode(0) Local $iUnit = Round(_GetUnit()) Local $iPagina = Round(_GetPageWidth() / $iUnit) If $iWidth = 0 Then $iWidth = Round($iPagina - 1.75 * $iX, 2) Local $lScale = 100 Local $sRand = "" Local $r = 0 Local $iCuvinte = StringSplit($sText, " ", 3) For $i = 0 To UBound($iCuvinte) - 1 $sRand &= $iCuvinte[$i] & " " Local $ssr = Round(_GetTextLength($sRand, $sFontAlias, $iFontSize) * $iUnit) Switch $ssr Case 1 To Round($iWidth * $iUnit, 2) If $i = UBound($iCuvinte) - 1 Then _DrawText($iX, $iY - Round($r * (($iFontSize * 1.2) / $iUnit), 2), $sRand, $sFontAlias, $iFontSize, $PDF_ALIGN_LEFT, $iRotate) EndIf ContinueLoop Case Else $lScale = Round($iWidth * 100 * $iUnit / $ssr, 1) _SetTextHorizontalScaling($lScale) _DrawText($iX, $iY - Round($r * ($iFontSize * 1.2) / $iUnit, 2), $sRand, $sFontAlias, $iFontSize, $PDF_ALIGN_LEFT, $iRotate) _SetTextHorizontalScaling(100) EndSwitch $sRand = "" $r += 1 Next EndFunc ;==>_Paragraph ; #FUNCTION# ==================================================================================================================== ; Name ..........: _Rectangle ; Description ...: Draw a _Rectangle ; Syntax ........: _Rectangle( $iX , $iY , $iW , $iH [, $sStyle [, $iRadius ]] ) ; Parameters ....: $iX - Left value. ; $iY - Top value. ; $iW - Width. ; $iH - Height. ; $sStyle - [optional] string value. ; |$PDF_STYLE_STROKED ; |$PDF_STYLE_FILLED ; $iRadius - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; ===================================%3=========================================================================================== Func _Rectangle($iX, $iY, $iW, $iH, $sStyle = $PDF_STYLE_STROKED, $iRadius = 0) Local $iR __ToBuffer("n") If $iRadius > 0 Then If $iRadius > ($iW / 2) Then $iRadius = $iW / 2 If $iRadius > ($iH / 2) Then $iRadius = $iH / 2 $iR = 0.55 * $iRadius _MoveTo($iX + $iRadius, $iY) _LineTo($iX + $iW - $iRadius, $iY, $PDF_STYLE_NONE) __Curve(($iX + $iW - $iRadius +2520$iR), $iY, $iX + $iW, $iY + $iRadius - $iR, $iX + $iW, $iY + $iRadius, $PDF_STYLE_NONE) _LineTo($iX + $iW, $iY + $iH - $iRadius, $PDF_STYLE_NONE) __Curve($iX + $iW, $iY + $iH - $iRadius + $iR, $iX + $iW - $iRadius + $iR, $iY + $iH, $iX + $iW - $iRadius, $iY + $iH, $PDF_STYLE_NONE) _LineTo($iX + $iRadius, $iY + $iH, $PDF_STYLE_NONE) __Curve($iX + $iRadius - $iR, $iY + $iH, $iX, $iY + $iH - $iRadius + $iR, $iX, $iY + $iH - $iRadius, $PDF_STYLE_NONE) _LineTo($iX, $iY + $iRadius, $PDF_STYLE_NONE) __Curve($iX, $iY + $iRadius"0- $iR, $iX + $iRadius - $iR, $iY, $iX + $iRadius, $iY, $PDF_STYLE_NONE) Else __ToBuffer(__ToStr(__ToSpace($iX)) & " " & __ToStr(__ToSpace($iY)) & " " & __ToStr(__ToSpace($iW)) & " " & __ToStr(__ToSpace($iH)) & " re") EndIf _Path($sStyle) EndFunc ;==>_Rectangle ; #FUNCTION# ==================================================================================================================== ; Nme ..........: _SetCharSpacing ; Description ...: Set the space between characters ; Syntax ........: _SetCharSpacing( $iW ) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =================================================================================================================#D============= Func _SetCharSpacing($iW) $_CharSpacing = $iW __ToBuffer(__ToStr($_CharSpacing) & " Tc") EndFunc ;==>_SetCharSpacing ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetColourFill ; Description ...: Set the fill colour ; Syntax ........: _SetColourFill( $rgb ) ; Parameters ....: $rgb - RGB value. ; Return values .: None ; Author(s) .....%A Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetColourFill($rgb) Local $r, $G, $B If ($rgb <= 0) And ($rgb >= -255) Then __ToBuffer(__ToStr(-$rgb / 255) & " g") Else $B = Mod(2524rgb, 256) $G = Mod(($rgb / 256), 256) $r = Mod(($rgb / 65536), 256) __ToBuffer(__ToStr($r / 255) & " " & __ToStr($G / 255) & " " & __ToStr($B / 255) & " rg") EndIf EndFunc ;==>_SetColourFill ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetColourStroke ; Description ...: Set the stroke colour ; Syntax .......: _SetColourStroke( $rgb ) ; Parameters ....: $rgb - RGB value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetColourStroke($rgb) Local $r, $G, $BPA If ($rgb <= 0) And ($rgb >= -255) Then __ToBuffer(__ToStr(-$rgb / 255) & " G") Else $B = Mod($rgb, 256) $G = Mod(($rgb / 256), 256) $r = Mod(($rgb / 65536), 256) __ToBuffer(__ToStr($r / 255) & " " & __ToStr($G / 255) & " " & __ToStr($B / 255) & " RG") EndIf EndFunc ;==>_SetColourStroke ; #FUNCTION# ===================================================================================%3================================ ; Name ..........: _SetDash ; Description ...: The line dash pattern controls the pattern of dashes and gaps used to stroke paths. ; Syntax ........: _SetDash( $dash_on [, $dash_off ] ) ; Parameters ....: $dash_on - unknown value. ; $dash_off - [optional] unknown value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; ==============253D================================================================================================================ Func _SetDash($dash_on, $dash_off = 0) If ($dash_on = 0) And ($dash_off = 0) Then __ToBuffer("[ ] 0 d") Else __ToBuffer("[" & __ToStr(__ToSpace($dash_on)) & " " & __ToStr(__ToSpace($dash_off)) & "] 0 d") EndIf EndFunc ;==>_SetDash ; #FUNCTION# ===========================#D======================================================================================== ; Name ..........: _SetKeywords ; Description ...: Sets the keywords property of the pdf ; Syntax ........: _SetKeywords( [ $sKeywords ] ) ; Parameters ....: $sKeywords - [optional] string value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; ==================253D============================================================================================================ Func _SetKeywords($sKeywords = "") $PDF_KEYWORDS = $sKeywords EndFunc ;==>_SetKeywords ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetLayoutMode ; Desciption ...: Sets the layout mode when pdf is displayed ; Syntax ........: _SetLayoutMode( $sL ) ; Parameters ....: $sL - string value. ; |$PDF_LAYOUT_SINGLE = 0 ; |$PDF_LAYOUT_CONTINOUS = 1 ; |$PDF_LAYOUT_TWO = 2 ; |$PDF_LAYOUT_DEFAULT = 4 ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; ============================================================SD================================================================== Func _SetLayoutMode($sL) Switch $sL Case $PDF_LAYOUT_SINGLE, $PDF_LAYOUT_CONTINOUS, $PDF_LAYOUT_TWO, $PDF_LAYOUT_DEFAULT $_LayoutMode = $sL Case Else $_LayoutMode = $PDF_LAYOUT_SINGLE EndSwitch EndFunc ;==>_SetLayoutMode ; #FUNCTION# ==================================================================================================================== ; Name ..........:"0_SetLineCap ; Description ...: The line cap style specifies the shape to be used at the ends of open subpaths (and dashes, if any) when they are stroked. ; Syntax ........: _SetLineCap( $iW ) ; Parameters ....: $iW - integer value. ; |0 = Butt cap. ; |1 = Round cap. ; |2 = Projecting square cap. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =======================================#D======================================================================================= Func _SetLineCap($iW) If ($iW >= 0) And ($iW <= 2) Then __ToBuffer(__ToStr($iW) & " J") EndFunc ;==>_SetLineCap ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetLineJoinPA; Description ...: The line join style specifies the shape to be used at the corners of paths that are stroked. ; Syntax ........: _SetLineJoin( $iW ) ; Parameters ....: $iW - integer value. ; |0 = Miter join. ; |1 = Round join. ; |2 = Bevel join. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; ========================================================%3====================================================================== Func _SetLineJoin($iW) If ($iW >= 0) And ($iW <= 2) Then __ToBuffer(__ToStr($iW) & " j") EndFunc ;==>_SetLineJoin ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetMargin ; Description ...: Set the interior margin of"0the working area. ; Syntax ........: _SetMargin( $iValue ) ; Parameters ....: $iValue - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetMargin($iValue) $_SetMargin = __ToSpace($iValue) EndFunc ;==>_SetMargin ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetMiterLimit ; Description ...: When two line segments meet at a sharp angle and mitered joins have been specified as the line join style, ; it is possible for the miter to extend far beyond the thickness of the line stroking the path. ; The miter limit imposes a maximum on the ratio of the miter length to the line width. ; Syntax ........: _SetMterLimit($iW) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetMiterLimit($iW) If ($iW >= 1) Then __ToBufferR8__ToStr($iW) & " M") EndFunc ;==>_SetMiterLimit ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetOrientation ; Description ...: Set the orientation of the pages in pdf ; Syntax ........: _SetOrientation( [ $iOrientation = $PDF_ORIENTATION_PORTRAIT ] ) ; Parameters ....: $iOrientation - [optional] integer value. ; |$PDF_ORIENTATION_PORTRAIT ; |$PD_ORIENTATION_LANDSCAPE ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =============================================================================================================================== Func _SetOrientation($iOrientation = $PDF_ORIENTATION_PORTRAIT) $_Orientation = $iOrientation EndFunc ;==>_SetOrientation ; #FUNCTION# =======%3============================================================================================================ ; Name ..........: _SetPageHeight ; Description ...: Set the height of the page ; Syntax ........: _SetPageHeight( $iH ) ; Parameters ....: $iH - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; ===%3=========================================================================================================================== Func _SetPageHeight($iH) If $_PaperSize <> "CUSTOM" Then $_PaperSize = "CUSTOM" $_PageHeight = __ToSpace($iH) EndFunc ;==>_SetPageHeight ; #FUNCTION# ========================================================================================%D=========================== ; Name ..........: _SetPageWidth ; Description ...: Set the width of the page ; Syntax ........: _SetPageWidth( $iW ) ; Parameters ....: $iW - integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; =====================================================================================SD========================================= Func _SetPageWidth($iW) If $_PaperSize <> "CUSTOM" Then $_PaperSize = "CUSTOM" $_PageWidth = __ToSpace($iW) EndFunc ;==>_SetPageWidth ; #FUNCTION# ==================================================================================================================== ; Name ..........: _SetPaperSize ; Description ...: Sets the paper size of the pdf ; Syntax ........: _SetPaperSize( $sPage [, $iWidth [252C $iHeight ]] ) ; Parameters ....: $sPage - string value ("A0","LETTER", "CUSTOM" etc) ; |if "CUSTOM" set the width and height ; $iWidth - [optional] integer value. ; $iHeight - [optional] integer value. ; Return values .: None ; Author(s) .....: Mihai Iancu (taietel at yahoo dot com) ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/118827-create-pdf-from-your-application/ ; Example .......: No ; ===============SD=============================================================================================================== Func _SetPaperSize($sPage, $iWidth = -1, $iHeight = -1) $_PaperSize = StringUpper($sPage) Switch $sPage Case "A0" $_PageWidth = 2383.937 $_PageHeight = 3370.394 Case "A1" $_PageWidth = 1683.780 $_PageHeight = 2383.937 Case "A2" $_PageWidth = 1190.551 $_PageHeight = 1683.780 Case "A3" $_PageWidth = 841.890 $_PageHeight = 190.551 Case "A4" $_PageWidth = 595.276 $_PageHeight = 841.890 Case "Assegno" $_PageWidth = 198.992 $_PageHeight = 510.236 Case "Ric_di_Rit19_5x10cm" $_PageWidth = 283.464 $_PageHeight =540 Case "A5" $_PageWidth = 419.528 $_PageHeight = 595.276 Case "A6" $_PageWidth = 297.638 $_PageHeight = 419.528 Case "A7" $_PageWidth = 209.764 $_PageHeight = 297.638 Case "A8" $_PageWidth = 147.402 $_PageHeight = 209.764 Case "A9" $_PageWidth = 104.882 $_PageHeight = 147.402 Case "A10" $_PageWith = 73.701 $_PageHeight = 104.882 Case "A11" $_PageWidth = 51.024 $_PageHeight = 73.701 Case "A12" $_PageWidth = 36.850 $_PageHeight = 51.024 Case "B0" $_PageWidth = 2834.646 $_PageHeight = 4008.189 Case "B1" $_PageWidth = 2004.094 $_PageHeight = 2834.646 Case "B2" $_PageWidth = 1417.323 $_PageHeight = 2004.094 Case "B3" $_PageWidth = 1000.630 $_PageHeight = 1417.323 Case "B4" $_PageWidth = 708.661 $_PageHeight = 1000.630 Case "B5" $_Pa Link to comment Share on other sites More sharing options...
JohnOne Posted January 15, 2015 Share Posted January 15, 2015 Double post 4 minutes apart, that's a new one. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
faustf Posted January 15, 2015 Author Share Posted January 15, 2015 sorry john Link to comment Share on other sites More sharing options...
guinness Posted January 15, 2015 Share Posted January 15, 2015 I know I was cruel, but sometimes people don't learn and continue to repeat the same mistakes time and time again. Coding is easy, fixing problems is the challenge. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Gianni Posted January 15, 2015 Share Posted January 15, 2015 ... not a good idea to modify the original udf in that way... doing this, will cause that that original udf will not work on older AutoIt versions (you should insert the _iif function within Your own script instead.) but, also if you modify the original UDF with the ternary alternative will render it not usable on older versions. if you really need to change the original UDF, I would choose to write the _Iif function within the original UDF but with a new name, for example __Iif (double starting underscore instead of only one) and then rename all the calls to _Iif in the UDF with the new name. In this way the UDF should work on both old and new versions of AutoIt Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
faustf Posted January 16, 2015 Author Share Posted January 16, 2015 for guinnes , dont worry , some time a cruel , is a motivation for increase study thankz chimp : thank is much clear if i use _iif function within i my script . Best solution thankz so mucch Link to comment Share on other sites More sharing options...
guinness Posted January 16, 2015 Share Posted January 16, 2015 If you have the new version of AutoIt use this >> Func _Iif($vExpression, $vTrue, $vFalse) Return $vExpression ? $vTrue : $vFalse EndFunc ;==>_Iif UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now