Skip to main content

How to create a Multi page PDF in Sketchware

 

Multi page pdf in sketchware

In this tutorial we will cover how to create a PDF with many pages. The code automatically converts linears into pages of your pdf file.

Start by adding a button to save the linears as PDF files. 

Add a save button


The next step is to navigate to that button's onClick event. In your onClick event, create a string variable with the name "path". If you're not sure what a string variable is, or how to create one, please check out this article.

Then place your blocks as shown in the blocks above.

In the first ASD block, use the following code:

try{ android.graphics.pdf.PdfDocument document = new android.graphics.pdf.PdfDocument(); android.graphics.pdf.PdfDocument.PageInfo pageInfo = new android.graphics.pdf.PdfDocument.PageInfo.Builder(1720, 1190, 4).create(); android.graphics.pdf.PdfDocument.Page page1 = document.startPage(pageInfo); View content1 = linearpage1; content1.draw(page1.getCanvas()); document.finishPage(page1); android.graphics.pdf.PdfDocument.Page page2 = document.startPage(pageInfo); View content2 = linearpage2; content2.draw(page2.getCanvas()); document.finishPage(page2); android.graphics.pdf.PdfDocument.Page page3 = document.startPage(pageInfo); View content3 = linearpage3; content3.draw(page3.getCanvas()); document.finishPage(page3); android.graphics.pdf.PdfDocument.Page page4 = document.startPage(pageInfo); View content4 = linearpage4; content4.draw(page4.getCanvas()); document.finishPage(page4);

In the above code, linearpage1, linearpage2, linearpage3 and linearpage4 are my linear IDs. In your case you can use linear1, linear2 etc.

If you would like to change the size of the PDF files change the dimensions by altering the text highlighted in blue

To add another page simply copy this section and repeat for as many pages as you want. Remember to change the page number as well as the linear.

android.graphics.pdf.PdfDocument.Page page5 = document.startPage(pageInfo); View content5 = linearpage5; content4.draw(page5.getCanvas()); document.finishPage(page5);

The next step is to set the path where the PDF file will be saved. The path should end with .pdf

Use the following logic:

Set save path
 
To save the file in a specific folder, you can customize the path as follows



In the second add source directly block place the following code:

java.io.File myFile = new java.io.File(path); java.io.FileOutputStream fOut = new java.io.FileOutputStream(myFile); java.io.OutputStreamWriter myOutWriter = new java.io.OutputStreamWriter(fOut); document.writeTo(fOut); document.close(); myOutWriter.close(); fOut.close(); Toast.makeText(getBaseContext(), "Your file has been saved", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show(); }

The final logic should look as shown in the blocks below:

Alternative save logic

Once your blocks are set you can then run your app and try it out.


Comments

creativesuzi33 said…
I have not this block "add source directly" in my Sketchware version. What can I do?
Saad Shahid said…
Sir for A4 page size what I can use?

Popular posts from this blog

Hip hop and RnB songs to apologize to your partner

Love is a beautiful thing, but it often goes wrong. This often leads to pain, suffering and sorrow.  Being imperfect beings, hearts tend to get broken all the time regardless how hard we may try to avoid it.  The heartbreak is often inadvertent but at times we find ourselves in the wrong. An oversight, a word unsaid or even a lapse in our judgement can cause our loved ones harm. This doesn't always have to be the end though. Oftentimes, relationships can be mended by simply uttering three simple words: "I AM SORRY". This article is a collection of some of my favourite 'I'm sorry' songs. I hope you'll enjoy these apology songs, but more importantly, I hope you will get a few quotables and some wisdom nuggets from them.  The best apology however, is to change behaviour (got that from a Jay Z interview) so as you apologize, please remember that it was your actions that hurt them. The best apology is one which involves you not repeating those same mistakes aga

How to easily create background notifications in Sketchware(original)

One of the keys to building a successful app is to find mechanisms that will keep your users engaged. You can do this by using background notifications. This tutorial will show you how to do that in Sketchware. We will cover: 1. How to create notifications in Sketchware 2. How to show these notifications even when the app is closed. We will start by creating a new project. If you do not know how to create a new project please check out this article here. Once we have created our project, let us create a more block to place our code. Navigate to the events menu and then to the moreblock section as shown in the image above. Create a moreBlock. I have created a moreblock with the name "BackgroundActivity" with a boolean variable named "run." See the image below for how to add the boolean variable. Place the following block in the moreBlock Background activity code: moveTaskToBack(_run); That will move our task to the background.  Please note, that at this point we have

Php date: How to get the first and last day of the week

In this tutorial, I'll show you how to get the first and last day of the week in php. By default, in PHP the week runs from Monday to Sunday. However we'll cover two methods to get the first and last day for both those who consider Sunday or Monday as their first day of the week. We will be using 2 functions to achieve this: date() strtotime() We will use a combination of these two functions and store the result in a variable.  How to get the first day of the week If you want to get Sunday, use this method: $firstday = date('l Y-m-d', strtotime("sunday -1 week")); echo $firstday; If you want to get the date for Monday, this current week, use this method: $monday = date('l Y-m-d', strtotime("monday -1 week ")); echo $monday; How to get the last day of the week The following code will give you Saturday as the last day of the current week. $lastday = date('l Y-m-d', strtotime("saturday 0 week")); echo $last