; Function Name: _StringToPDF() ; Description: Create PDF File _StringToPDF("Téléphone de René Bérété ", @ScriptDir &"\mega.pdf") Func _StringToPDF($Text, $File = "MyPDF.pdf", $creator = "Creator", $producer = "Producer", $Size = "A4", $Rand_x = 20, $Rand_y = 24, $Schriftart = "Times-Roman", $Fett = 0, $Kursiv = 0, $Schrift = 12, $Autor = "unknown", $Titel = "Title") If $Size = "A4" Then $Size_x = 210 $Size_y = 297 ElseIf $Size = "A3" Then $Size_x = 420 $Size_y = 297 EndIf $Zeilen = 1 If $Fett = 1 Or $Kursiv = 1 Then If $Schriftart = "Times-Roman" Then If $Fett = 1 Then $Schriftart = "Times-Bold" ElseIf $Kursiv = 1 Then $Schriftart = "Times-Italic" EndIf If $Fett = 1 And $Kursiv = 1 Then $Schriftart = "Times-BoldItalic" ElseIf $Schriftart = "Arial" Then If $Fett = 1 Then $Schriftart = "Helvetica-Bold" ElseIf $Kursiv = 1 Then $Schriftart = "Helvetica-Italic" EndIf If $Fett = 1 And $Kursiv = 1 Then $Schriftart = "Arial,BoldItalic" Else If $Fett = 1 Then $Schriftart = "Courier-Bold" ElseIf $Kursiv = 1 Then $Schriftart = "Courier-Oblique" EndIf If $Fett = 1 And $Kursiv = 1 Then $Schriftart = "Courier-BoldOblique" EndIf EndIf $Abstand = Round($Schrift * 1.121861,3) If Not StringInStr($Text, @CRLF) = 0 Then $Text = StringSplit($Text, @CRLF) $Zeilen = $Text[0] / 21 EndIf Local $Wert = 2.834175 $Size_y = Round($Size_y * $Wert) $Size_x = Round($Size_x * $Wert) $Rand_x = Round($Rand_x * $Wert) $Rand_y = Round($Rand_y * $Wert) Local $pdf[47] = [ "%PDF-1.2", "%âãÏÓ", "1 0 obj", "<<","/Author (" & $Autor & ")", "/CreationDate (D:" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & ")", _ "/Creator (" & $creator & ")","/Producer (" & $producer & ")", "/Title (" & $Titel & ")",">>", _ "endobj","4 0 obj","<<","/Type /Font", "/Subtype /Type1", "/Name /F1","/Encoding 5 0 R","/BaseFont /" & $Schriftart,">>", _ "endobj","5 0 obj","<<", "/Type /Encoding", "/BaseEncoding /WinAnsiEncoding",">>","endobj","6 0 obj","<<"," /Font << /F1 4 0 R >>", _ " /ProcSet [ /PDF /Text ]", ">>","endobj","7 0 obj","<<","/Type /Page","/Parent 3 0 R","/Resources 6 0 R","/Contents 8 0 R", _ "/Rotate 0", ">>","endobj","8 0 obj","<<","/Length 9 0 R",">>","stream","BT"] For $i=0 To UBound($pdf)-1 FileWriteLine($File, $pdf[$i] & @CRLF) Next If $Zeilen = 1 Then FileWriteLine($File, "/F1 " & $Schrift & " Tf") FileWriteLine($File, "1 0 0 1 " & $Rand_y & " " & $Size_y - $Rand_x - $Abstand & " Tm") FileWriteLine($File, "(" & $Text & ") Tj") Else For $Counter = 1 To $Zeilen FileWriteLine($File, "/F1 " & $Schrift & " Tf") FileWriteLine($File, "1 0 0 1 " & $Rand_y & " " & $Size_y - $Rand_x - $Abstand * $Counter & " Tm") FileWriteLine($File, "(" & $Text[$Counter * 2 - 1] & ") Tj") Next EndIf Local $pdf1[40] = ["ET","endstream", "endobj","9 0 obj","78","endobj", "2 0 obj", "<<", "/Type /Catalog", "/Pages 3 0 R", ">>", _ "endobj", "3 0 obj", "<<", "/Type /Pages", "/Count 1", "/MediaBox [ 0 0 " & $Size_x & " " & $Size_y & " ]", "/Kids [ 7 0 R ]", _ ">>", "endobj", "0 10", "0000000000 65535 f ", "0000000013 00000 n ", "0000000591 00000 n ", "0000000634 00000 n ", "0000000156 00000 n ", _ "0000000245 00000 n ","0000000307 00000 n ","0000000372 00000 n ", "0000000453 00000 n ", "0000000576 00000 n ", "trailer", _ "<<", "/Size 10", "/Root 2 0 R", "/Info 1 0 R", ">>", "startxref", "712", "%%EOF"] For $i=0 To UBound($pdf1)-1 FileWriteLine($File, $pdf1[$i] & @CRLF) Next EndFunc ;==>_StringToPDF