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

How to easily create background notifications in Sketchware(original)

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.

Happy Birthday Memes: Laugh Your Way to Someone's Heart

Happy Birthday Memes: Laugh Your Way to Someone's Heart Introduction Birthdays are a special occasion to celebrate another year of life, and what better way to do it than with a good laugh? That's where happy birthday memes come in! These hilarious images are the perfect way to put a smile on someone's face and let them know you're thinking of them on their special day. Why Memes Are the Best Birthday Greetings * Relatable:  Memes often tap into universal experiences and emotions, making them instantly relatable to a wide audience. * Quick and Easy:  Sharing a meme is a hassle-free way to send birthday wishes, perfect for those last-minute greetings. * Memorable:  A funny meme is more likely to stick in someone's mind, making your birthday wishes unforgettable. * Versatile:  There's a meme for every type of person and occasion, from silly and goofy to heartfelt and sentimental. How to Use Happy Birthday Memes * Share on Social Media:  Spread ...

Cybersecurity Essentials: How To Stay Safe On The Internet

  Hi there, my name's Likhwa and welcome to Building Africa's Next Tech Unicorn. on this platform I give a behind the scenes look at what it takes to build a startup within the African context. In today's video, I'll be doing something different- I'll be talking about how you can stay safe online. This isn't meant to scare you or get you all paranoid, but to help you be more vigilant in protecting yourself and your loved ones from cyber threats.  Most people underestimate the dangers of the internet, but the more I am exposed to it, the more I wish I didn't need it. At times I wish I could just disconnect, get rid of all my devices and not have to worry about the constant threats that come with being online. I believe some of us are fortunate by default- especially those who live in countries like my Zimbabwe- because we hardly use credit cards to transact online and even when we do, its not like we have a lot of money- otherwise we would be a hacker's g...