[free]PDFViewer (by Icefairy333) - reworked by DonManfred


Licensed User
Longtime User
This is a wrap which is based on reverse engineering of the b4apdfviewer lib by @icefairy333
He lost the source of it but he allowed to do reverse engineering hi lib to reveal the source.
He also give me the permission to release it

See here

Version: 1.5
  • PDFViewer
    • ba As BA
    • BringToFront
    • GetPageCount As Int
    • Initialize (arg1 As String)
    • Invalidate
    • Invalidate2 (arg0 As Rect)
    • Invalidate3 (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int)
    • IsInitialized As Boolean
    • RemoveView
    • RequestFocus As Boolean
    • SendToBack
    • SetBackgroundImage (arg0 As Bitmap)
    • SetColorAnimated (arg0 As Int, arg1 As Int, arg2 As Int)
    • SetLayout (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int)
    • SetLayoutAnimated (arg0 As Int, arg1 As Int, arg2 As Int, arg3 As Int, arg4 As Int)
    • SetVisibleAnimated (arg0 As Int, arg1 As Boolean)
    • finalize
    • findOnPage (str As String, pageid As Int) As Int
    • getPageBitmap (page As Int, zoom As Int, x As Int, y As Int, rotation As Int, prefXSize As Int, prefYSize As Int) As Bitmap
    • getpdf (filepath As String)
    • getpdf2 (filepath As String, password As String)
    • init
    • isValid As Boolean
    • scrollToFindResult (n As Int)
    • scrollToPage (page As Int)
    • zoom (value As Float)
    • Background As Drawable
    • Color As Int [write only]
    • Enabled As Boolean
    • Height As Int
    • Left As Int
    • Parent As Object [read only]
    • Tag As Object
    • Top As Int
    • Visible As Boolean
    • Width As Int
Last edited by a moderator:


Licensed User
Longtime User
Hey, thanks for the lib!

It works very good so far, but the getPageBitmap is returning a non initialized bitmap.
Is there a way to get around this?


Marco Nissen

Active Member
Licensed User
Longtime User
Hi DonManfred

I'm still using your old library, and wished I could switch easily, but I can't - there are some questions ..

I have these procedures ..

Sub PDFView_onLayerDrawn(cv As Object, pageWidth As Float, pageHeight As Float, Page As Int)
End Sub

Sub PDFView_onLoadComplete(Pages As Int)
End Sub

Sub PDFView_onPageChanged(page As Int, pageCount As Int)
end sub

Now - how can I get these events with your updated different library ? Any advice ?


David Elkington

Active Member
Licensed User
Hi DonManfred. The lib seems to work ok a couple of times, but when I view a PDF for the third time, it crashes with the message below, any ideas?

Fatal signal 11 (SIGSEGV), code 1, fault addr 0x14 in tid 20350 (FinalizerDaemon)

Yuri Cinesi

Licensed User
Thanks a bunch for this library. I just have one issue: whenever I double tap to zoom in the viewer gets very glitchy.
Any idea what might cause that? If you've got a sec could you perhaps make a version of the library without it? I thought about catching the press event but that would also disable the movement wouldn't it?
Thanks in advance.