V
VitAl2013
Гость
Вот накатал тут минипрогу. Делает то что в названии. Просьба протестить и поправить если чтото не так.
Код:
#include <GUIListView.au3>
Global $MediaBox[100]
Global $MediaBoxEx[1][1]
Global $MediaBoxExFinal[1][1]
do
$var = FileOpenDialog("Give me PDF file! Or push Cancel for exit.", "c:\", "PDF file (*.pdf)", 1)
if @error then
Exit
EndIf
drawinfo($var)
_ArrayDisplay($MediaBoxExFinal, $var)
until GUIGetMsg() = -3
func drawinfo($way_to_file)
$chFileHnd = FileOpen($way_to_file, 0)
Do
$chFileTxt = FileRead($way_to_file)
until @error = 0
$MediaBox = StringSplit($chFileTxt, "MediaBox", 1)
_ArrayDelete ($MediaBox, 0)
_ArrayDelete ($MediaBox, 0)
ReDim $MediaBoxEx[UBound($MediaBox)][2]
ReDim $MediaBoxExFinal[UBound($MediaBox)][3]
For $i=0 to Ubound($MediaBox)-1 step 1
$_2 = StringInStr($MediaBox[$i], " ", 0, 2)
$_3 = StringInStr($MediaBox[$i], " ", 0, 3)
$_res = StringInStr($MediaBox[$i], "]/Res", 0, 1)
_ConsoleWriteEx( 'w='&$_3&'-'&$_2&'='&$_3-$_2)
_ConsoleWriteEx( 'h='&$_res&'-'&$_3&'='&$_res-$_3)
$MediaBoxEx[$i][0] = StringMid($MediaBox[$i], $_2, $_3-$_2)
$MediaBoxEx[$i][1] = StringMid($MediaBox[$i], $_3, $_res-$_3)
next
For $i=0 to Ubound($MediaBox)-1 step 1
if Number($MediaBoxEx[$i][0])-Int(Number($MediaBoxEx[$i][0]))=0 Then
$MediaBoxExFinal[$i][0]=$MediaBoxEx[$i][0]/72
$MediaBoxExFinal[$i][1]=$MediaBoxEx[$i][1]/72
$MediaBoxExFinal[$i][2]="inch"
Else
$MediaBoxExFinal[$i][0]=Int($MediaBoxEx[$i][0]/2.8346)
$MediaBoxExFinal[$i][1]=Int($MediaBoxEx[$i][1]/2.8346)
$MediaBoxExFinal[$i][2]="mm"
EndIf
next
;~ _ArrayInsert( $MediaBoxExFinal,0,UBound($MediaBox))
FileClose($chFileHnd)
Return $MediaBoxExFinal
EndFunc
Func _ConsoleWriteEx($s, $line = @ScriptLineNumber)
ConsoleWrite($line & ": " & $s & @CRLF)
EndFunc