PackageAdded: package:b4a.example
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
PDFWriter has been initialized.
main_capturetimer_tick (B4A line: 62)
PDFWriter1.ConverseDocument
java.lang.OutOfMemoryError
at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:94)
at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:145)
at java.lang.StringBuilder.append(StringBuilder.java:216)
at com.rootsoft.pdfwriter.PDFDocument.toPDFString(PDFDocument.java:69)
at com.rootsoft.pdfwriter.PDFWriter.asString(PDFWriter.java:113)
at com.rootsoft.pdfwriter.myPDFWriter.ConverseDocument(myPDFWriter.java:90)
at b4a.example.main._capturetimer_tick(main.java:346)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:167)
at anywheresoftware.b4a.objects.Timer$TickTack.run(Timer.java:103)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
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.
Dim WebView1 As WebView
Dim ImageView1 As ImageView
Dim BMPPage As Bitmap
Dim CaptureTimer As Timer
Dim retries As Int = 0
Dim PDFWriter1 As PDFWriter
Dim PaperSize As PDFPaperSizes
Dim Fonts As PDFStandardFonts
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
CaptureTimer.Initialize("CaptureTimer", 200)
CaptureTimer.Enabled = False
Activity.LoadLayout("Main")
WebView1.BringToFront
WebView1.SetLayout(0, 0, 50%x, 50%y)
WebView1.LoadUrl("file:///mnt/sdcard/Mysystem/reports/temp.htm")
BMPPage.InitializeMutable(WebView1.Width, WebView1.Height)
CaptureTimer.Enabled = True
End Sub
Sub CaptureTimer_Tick
Try
CaptureTimer.Enabled = False
Dim Out As OutputStream
Out = File.OpenOutput("/mnt/sdcard/Mysystem/reports/", "test.jpg", False)
WebView1.CaptureBitmap.WriteToStream(Out, 100, "JPEG")
Out.Close
BMPPage = WebView1.CaptureBitmap
'do whatever you need with the bitmap
PDFWriter1.Initialize("PDFWriter1", PaperSize.A4_HEIGHT, PaperSize.A4_WIDTH)
PDFWriter1.addImage(0, PaperSize.A4_HEIGHT, BMPPage)
PDFWriter1.ConverseDocument
Return
Catch
CaptureTimer.Enabled = True
Log("Failed to capture: " & LastException & " " & retries)
retries = retries + 1
If retries = 3 Then CaptureTimer.Enabled = False
End Try
End Sub
Sub PDFWriter1_ConversionDone (Content As String)
Dim PDFContent As String = Content
PDFWriter1.outputToFile("/mnt/sdcard/Mysystem/reports/", "TEST.PDF", PDFContent,"ISO-8859-1")
ToastMessageShow("Conversion has been done.",False)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Dim Out As OutputStream
Out = File.OpenOutput(MyFolder, "tempbefore.jpg", False)
WebView1.CaptureBitmap.WriteToStream(Out, 100, "JPEG")
Out.Close
Dim b As Bitmap
b.Initialize(Main.sdcard.specificreports, "tempbefore.jpg") 'save it so we can reload/sample
'Log("before bmp size " & b.Height & " x " & b.Width)
BMPPage.InitializeSample(MyFolder, "tempbefore.jpg", 250, 300) 'shrink it down (pdfwriter won't take big images)
'Log("bmp size " & BMPPage.Height & " x " & BMPPage.Width)