Android Question PDF417.mobi SDK for Android

Johan Schoeman

Expert
Licensed User
Longtime User
can you upload a picture of the pdf417 barcode? Might have something that will be able to scan it. I can scan the PDF417 barcode on the back of a South Africa driver's license.
 
Upvote 0

BarryW

Active Member
Licensed User
Longtime User
Its a drivers lincense from philippines. I cannot upload my own license picture for security reason. This sample is from web but its like my license
images (5).jpeg
 
Upvote 0

Johan Schoeman

Expert
Licensed User
Longtime User
My scanner can read the PDF417 code on the below image (found it on the web):

String returned by my scanner (B4A):
3.0L0210003332II^gUIN@$(0 ` !"$(0 FAREN KERSTEEN KATE MANALILI 02251983�>V5`D,0$IUuHO!QP*Z(a#!QNJOnATH1E-T1`[!"H8W2 BA) F0225201315768 2

Some info readable from the string returned by the scanner - I guess the other info needs to be decoded/decrypted somehow if you have access to how to do it.


Phillipines can read.jpg
 
Upvote 0

Johan Schoeman

Expert
Licensed User
Longtime User
Hi sir can i try your scanner?
Try with the attached B4A project and lib files. Copy the lib files to your additional libs folder. Take note of the B4A manifest when starting a new B4A project

B4X:
    #ApplicationLabel: BarryScanDriversLicense
    #VersionCode: 1
    #VersionName:
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: Portrait
    #CanInstallToExternalStorage: False
    #MultiDex: True

#End Region


#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    
    Dim rp As RuntimePermissions
    
End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.

    Private bs1 As BillScanner
    
    Private Button1 As Button
    Private Button2 As Button
    Private isStarted As Boolean = False
    Private Label1 As Label
    
    
End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("main")

    Label1.Color = Colors.Transparent

    bs1.Visible = False
    Button2.Visible = False
    
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)
    
    If isStarted = True Then
      bs1.stopScanning
    End If 
      
End Sub

Sub bs1_scan_value(val As String, rawbyte() As Byte, barcodetype As Int)
    
    Log("Scanned String = " & val)
    Label1.Text = ""
    Sleep(0)
    Label1.Text = val
    
End Sub

Sub Button1_Click

    Dim Result As Boolean = True                                                                       
    If Not(rp.Check(rp.PERMISSION_CAMERA)) Then                                                       
        rp.CheckAndRequest(rp.PERMISSION_CAMERA)                                                       
        Wait For Activity_PermissionResult (Permission As String, Result As Boolean)                   
    End If                                                                                             
    If Result Then

        bs1.Visible = True
        Button2.Visible = True

        Sleep(0)
        Label1.Text = ""
        If isStarted = False Then
          isStarted = True
          bs1.startScanning
          Button1.Visible = False
          Button2.Visible = True
        End If 
    End If 
    
End Sub

Sub Button2_Click
    Label1.Text = ""
    If isStarted = True Then
      isStarted = False
      bs1.stopScanning

      Button2.Visible = False
      Button1.Visible = True
    End If         
    
End Sub

B4A Manifest:
B4X:
'This code will be applied to the manifest file during compilation.
'You do not need to modify it in most cases.
'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136
AddManifestText(
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="28"/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.DarkTheme)
'End of default text.

AddApplicationText(<meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.gms.vision.DEPENDENCIES"
            android:value="barcode" />)
            
AddManifestText(<uses-feature android:name="android.hardware.camera" android:required="true" />)
AddManifestText(<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />)
AddManifestText(<uses-feature android:name="android.hardware.camera.flash" android:required="false" />)

SetApplicationAttribute(android:name, "androidx.multidex.MultiDexApplication")
 

Attachments

  • B4ALibFiles.zip
    5.5 KB · Views: 227
  • BarryScanDriversLicense.zip
    24.2 KB · Views: 237
Upvote 0

BarryW

Active Member
Licensed User
Longtime User
My scanner can read the PDF417 code on the below image (found it on the web):

String returned by my scanner (B4A):
3.0L0210003332II^gUIN@$(0 ` !"$(0 FAREN KERSTEEN KATE MANALILI 02251983�>V5`D,0$IUuHO!QP*Z(a#!QNJOnATH1E-T1`[!"H8W2 BA) F0225201315768 2

Some info readable from the string returned by the scanner - I guess the other info needs to be decoded/decrypted somehow if you have access to how to do it.


View attachment 98899

Hi sir this version of license is available anymore. The pdf417 in the new license is on the back
 
Upvote 0
Top