Connait le sujet d'un pdf sécurisé ou non

Contenu du snippet

Voici un petit code qui m'a fait perde des heures
j'essai tout simplement de lire le sujet d'un pdf. si on ouvre un pdf en format binaire, c'est très facile de trouver le sujet, puisqu'il commence par "/subject".

mais pour un pdf sécurisé, le pdf se trouve avec des centaine de char 0 dans le fichier et VB prend ce char 0 pour un EOF et se refuse de continuer à lire, autant en binaire ou non

j'ai du passer par un petit stratagène pour pas que BV voie ses char 0 et continue à lire.

ok, le code ets pas parfait, puisqu'il y a une possibilité qu'un char 0 soit lu, mais c'est tellement infime et au pire, il donne comme résultat une chaine vide, donc c'est pas si pire. Au pire, il faut tout simplement augmenter la précision du string

Source / Exemple :


Const sujet = "/SUBJECT"

Public Function getDescriptionPDF(strFile As String) As String
    
    Dim texte As String * 10000
    Dim trouver As Boolean
    Dim position As Integer
    Dim compteur As Long
    Dim j As Integer
    
    trouver = False
    
    Open strFile For Binary As #1 Len = Len(texte)
    
    compteur = 1
    
    While Not trouver
        Get #1, compteur, texte

        position = InStr(1, UCase(texte), sujet)
        
        If position <> 0 Then
            trouver = True
            getDescriptionPDF = Mid(texte, position + Len(sujet) + 2, InStr(position + Len(sujet) + 2, texte, ")") - (position + Len(sujet) + 2))
        ElseIf Mid(texte, 1, 1) = Chr(0) And Mid(texte, 9999, 1) = Chr(0) And _
               Mid(texte, 500, 1) = Chr(0) And Mid(texte, 10, 1) = Chr(0) And _
               Mid(texte, 800, 1) = Chr(0) And Mid(texte, 1000, 1) = Chr(0) And _
               Mid(texte, 5000, 1) = Chr(0) And Mid(texte, 7500, 1) = Chr(0) Then
            trouver = True
            getDescriptionPDF = ""
        End If

        compteur = compteur + 10000
    Wend
    Close #1
End Function

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.