vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Seitengröße einer PDF auslesen 
Autor: eierlein
Datum: 18.09.14 19:24

In VBS gibt's keinen Binärmodus.

Ich hab das Programm testweise nach VB6 (VBA) konvertiert.
Da hast du keine Probleme mit CHR(0).



Option Explicit
 
Sub test()
 
Dim FF As Integer
Dim abmessungen_start As Long
Dim abmessungen_start1 As Long
Dim abmessungen_start2 As Long
Dim abmessungen_end As Long
Dim laenge_start_to_end As Long
Dim abmessungen_einzeln As Long
Dim i As Long
 
Dim Start_x As Double, Start_y As Double
Dim Ende_x As Double, Ende_y As Double
Dim abmessungen_breite As Double, abmessungen_hoehe As Double
 
Dim msg As String, t As String
Dim abmessungen As String
Dim abmessungen_splitten() As String
 
Dim strText As String
Dim DateiName As String
' Variable Dateiname setzen
DateiName = "D:\U70-1F300.pdf" '"C:\Test\1143522_RB~0.pdf"
 
 
' Datei öffnen/auslesen
FF = FreeFile
Open DateiName For Binary As #FF
strText = Space$(LOF(FF))
Get #FF, , strText
Close
 
 
' PDF nach einem String durchsuchen und den Startpunkt ermitteln
abmessungen_start1 = InStr(strText, "MediaBox[")
abmessungen_start2 = InStr(strText, "MediaBox [")
 
' tatsächlichen Startpunkt in Abhängigkeit von start1 und start2 ermitteln
If abmessungen_start1 Then
    abmessungen_start = abmessungen_start1 + 9
ElseIf abmessungen_start2 Then
    abmessungen_start = abmessungen_start2 + 9
Else
    MsgBox ("Fehler")
    Exit Sub
End If
 
' Position an der die abschliessende eckige Klammer steht
abmessungen_end = InStr(abmessungen_start, strText, "]", 1) + 1
 
' Zeichenlaenge der Werte innerhalb der eckigen Klammern
laenge_start_to_end = abmessungen_end - abmessungen_start - 1
 
' Bereich in dem die Werte der PDF-Groesse in den eckigen Klammern steht
abmessungen = Mid$(strText, abmessungen_start, laenge_start_to_end)
 
 
' Bereich zerlegen in einzelne Werte
abmessungen_splitten = Split(abmessungen, " ")
 
    Start_x = CDbl(abmessungen_splitten(0))
    Start_y = CDbl(abmessungen_splitten(1))
    Ende_x = CDbl(abmessungen_splitten(2))
    Ende_y = CDbl(abmessungen_splitten(3))
 
 
' Nachkommastellen bei Abmessungen in mm  entfernen (z.B. 210,06 mm = 210 mm)
abmessungen_breite = Int((Ende_x - Start_x) / 2.834)
abmessungen_hoehe = Int((Ende_y - Start_y) / 2.834)
 
 
msg = "Abmessungen:" & vbLf & _
      "x = " & CStr(Start_x) & vbLf & _
      "y = " & CStr(Start_y) & vbLf & _
      "Höhe = " & CStr(abmessungen_hoehe) & vbLf & _
      "Breite = " & CStr(abmessungen_breite)
 
 
t = MsgBox(msg, 64)
End Sub
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Seitengröße einer PDF auslesen6.400BotschafterSarek13.12.12 06:28
Re: Seitengröße einer PDF auslesen5.448ModeratorDieter14.12.12 00:17
Re: Seitengröße einer PDF auslesen5.534BotschafterSarek14.12.12 05:57
Re: Seitengröße einer PDF auslesen4.945rince18.09.14 09:17
Re: Seitengröße einer PDF auslesen4.702eierlein18.09.14 10:18
Re: Seitengröße einer PDF auslesen4.615rince18.09.14 10:43
Re: Seitengröße einer PDF auslesen4.575rince18.09.14 13:02
Re: Seitengröße einer PDF auslesen4.648eierlein18.09.14 19:24
Re: Seitengröße einer PDF auslesen4.576BotschafterSarek19.09.14 11:40

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel