Hello friends,
this is an extension to Create PDF files with the content of a Layout component (VerticalArrangement, HorizontalArrangement, …).
This extension is based on:
https://developer.android.com/reference/android/graphics/pdf/PdfDocument.html
https://developer.android.com/reference/android/graphics/pdf/PdfDocument.PageInfo.Builder
I have built two versions of this extension: the Simple and the multi-page version.
1.- Create PDF. Simple version.
On Screen1 we fill a form. When Click on the “Create Pdf” Button, we pass the data to Screen2 using a TinyDB .
Screen2 receives the data as a list and shows a VerticalArrangement1 (yellow) with all the information. With the extension KIO4_PdfS the file is created: (/mnt/sdcard/) “comida.pdf” with the content of VerticalArrangement1 .
On Screen3 we can “Read” the contents of the file (/mnt/sdcard/) “comida.pdf” , using an Image component.
With this version we can only build PDF files with one page .
You can download the extension KIO4_PdfS.aix from:
Create Build Crear App Inventor Extensiones Extensions Crear PDF. Leer PDF.
p284C_extension_crear_pdf.aia (24.5 KB)
To adapt the pdf to the different screen sizes, I have added the block: Density
32 Likes
2.- Create PDF. Multi-page version.
With this extension we can Create multi-page PDF files .
On Screen1, Click on the “Create Pdf” Button and fill a form. When filled Click on the “Add Page” Button.
All the information on the form will be displayed in the VerticalArrangement2 (yellow color).
We can add more pages using the “Add Page” Button.
When we finish adding page Click on the “Finish” Button. All pages will be saved in the file (/mnt sdcard/) "comida.pdf"
Using the “ReadPdf” Block, we can Read the content of the pages of the Pdf file in an Image component. (The first page is 0)
You can download the extension KIO4_Pdf.aix from:
Create Build Crear App Inventor Extensiones Extensions Crear PDF. Leer PDF.
p284C_extension_crear_pdf_paginas.aia (26.5 KB)
Regards,
Juan Antonio Villalpando
More extensions:
http://kio4.com/appinventor/index.htm#extensiones
7 Likes
can it turn webview to pdf is the webview is in a layout?
2 Likes
You can convert to PDF the content of components (Label, WebView,…) directly or inside a Layout. Is very important the dimensions width and height:
https://developer.android.com/reference/android/graphics/pdf/PdfDocument.PageInfo.Builder
p284C_extension_pdf_view.aia (13.8 KB)
4 Likes
Directly with a TexBox component:
p284C_extension_pdf_view2.aia (14.5 KB)
2 Likes
TimAi2
(metricrat)
February 4, 2020, 9:52am
#7
Show your blocks - doesn’t look like you set the layout correctly ?
1 Like
AddPage is not asynchronous and can be a slow process to immediately put the Reload block.
msr79526
(SR Official)
February 6, 2020, 6:35pm
#10
I didn’t understand. Did I wrong anything in my block
2 Likes
msr79526
(SR Official)
February 7, 2020, 1:53am
#12
But that’s eror are showing in screen initialized
1 Like
TimAi2
(metricrat)
February 7, 2020, 12:42pm
#13
Try with button click event as opposed to when webviewer .PageLoaded
1 Like
Update:
When the page is finished adding, the following event is triggered: AddedPage
ReadPdf: if my_file.pdf is in asset, you can write:
pdfName: android_asset/my_file.pdf (to Build .apk).
com.KIO4_Pdf.aix:
http://kio4.com/appinventor/284C_extension_crear_pdf.htm#pdf2
after the file is generated, how do I share the pdf in another application?
File pdf is created in SdCard,
/mnt/sdcard/your_file.pdf
You can read, share, send… that file with other app.
1 Like
How can i a webview convert to pdf file?
Insert WebView in VerticalArrangement
1 Like
Check the first post:
1.- Create PDF. Simple version.
In the CreatePdf — layout block: VerticalArrangement1
In the Design part you put inside VerticalArrangement1 the WebView