Hello everyone,
Here is yet another library: PDFWriter.
Linked by user mwhetmore at this topic, you can now create your own PDF files and save them!
The library has 3 declarations:
I. PDFWriter
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Declare this in globals so you can benifit from all main methods for writing your PDF File.
1.1 Initialize
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
This initializes your PDF writer and gives in an eventname for when the pdf has been created, and it creates a new document with the papersizes than you can choose. (A1, A2, A3, and a lot more!).
1.2 addLine
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Adds a line to your PDF file. The parameters are self-explanatory.
1.3 addRawContent
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Adds raw content to your pdf file.
For example: PDFWriter1.addRawContent("0 1 0 rg\n")
1.4 addRectangle
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Adds a rectangle to your pdf file.
1.5 addText
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
This will add text to your PDF file.
The difference between addText and addText2 is that you can add a transformation to your text, see chapter III. PDFStandardFonts.
1.6 ConverseDocument
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
This wll create you a PDF file. Sub ConversionDone will be raised when the conversion has been done.
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
1.7 CreateNewDocument
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
This wll create a new PDF document with the given Width and Height in Papersizes, like in the initialize method.
1.8 newPage
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
This wll create a new PDF page in the same document.
1.9 outputToFile
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
This will save your pdf content in the given Directory with the given filename with the given encoding.
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
2.0 outputToScreen
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
This will show your pdfcontent in a label. (note that it won't show the pdf itself but the content!)
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
2.1 setFont
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
This will set the font in your PDF file.
The difference between setFont and setFont2 is that you can add a encoding to your text in setFont2, see chapter III. PDFStandardFonts.
II. PDFPaperSizes
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
With PaperSize you can select, when you create a new document (or with initialize), what paper you would like to use to work with.
Here are all the options:
III. PDFStandardFonts
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
And to end, you can choose between a lot of available fonts.
I won't put them here, but it varies from Times New Roman, to Courier, and some more.
IV. License
The library is licensed under BSD!
So you just have to mention the author. (not me!)
Author: Javier Santho Domingo (j-a-s-d@coderesearchlabs.com)
In the attachments, you can find the library files and 2 text files:
A readme.txt and Sample.txt
The project was just to big to upload here at the forum.
So just copy the content of Sample.txt in a new Basic4Android Project and
check the PDFWriter at the right hand pane in the library tab of the IDE, and run the project.
Have fun.
Tomas
			
			Here is yet another library: PDFWriter.
Linked by user mwhetmore at this topic, you can now create your own PDF files and save them!
The library has 3 declarations:
I. PDFWriter
			
				B4X:
			
		
		
		Dim PDFWriter1 As PDFWriter1.1 Initialize
			
				B4X:
			
		
		
		PDFWriter1.Initialize("PDFWriter1",PaperSize.A4_WIDTH, PaperSize.A4_HEIGHT)This initializes your PDF writer and gives in an eventname for when the pdf has been created, and it creates a new document with the papersizes than you can choose. (A1, A2, A3, and a lot more!).
1.2 addLine
			
				B4X:
			
		
		
		PDFWriter1.addLine(int fromLeft, int fromBottom, int toLeft, int toBottom)Adds a line to your PDF file. The parameters are self-explanatory.
1.3 addRawContent
			
				B4X:
			
		
		
		PDFWriter1.addRawContent(String rawContent)Adds raw content to your pdf file.
For example: PDFWriter1.addRawContent("0 1 0 rg\n")
1.4 addRectangle
			
				B4X:
			
		
		
		PDFWriter1.addRectangle(int fromLeft, int fromBottom, int toLeft, int toBottom)Adds a rectangle to your pdf file.
1.5 addText
			
				B4X:
			
		
		
		PDFWriter1.addText(int leftPosition, int topPositionFromBottom, int fontSize, String text)
PDFWriter1.addText2(int leftPosition, int topPositionFromBottom, int fontSize, String text, String transformation)This will add text to your PDF file.
The difference between addText and addText2 is that you can add a transformation to your text, see chapter III. PDFStandardFonts.
1.6 ConverseDocument
			
				B4X:
			
		
		
		PDFWriter1.ConverseDocument
			
				B4X:
			
		
		
		Sub PDFWriter1_ConversionDone (Content As String)
   PDFContent = Content
   ProgressDialogHide
   ToastMessageShow("Conversion has been done.",False)
End Sub1.7 CreateNewDocument
			
				B4X:
			
		
		
		PDFWriter1.CreateNewDocument(int Width, int Height)1.8 newPage
			
				B4X:
			
		
		
		PDFWriter1.newPage1.9 outputToFile
			
				B4X:
			
		
		
		PDFWriter1.outputToFile(String Directory, String FileName, String pdfContent, String encoding)
			
				B4X:
			
		
		
		PDFWriter1.outputToFile(File.DirDefaultExternal,"myNewPDF.pdf",PDFContent,"ISO-8859-1")2.0 outputToScreen
			
				B4X:
			
		
		
		PDFWriter1.outputToScreen
			
				B4X:
			
		
		
		Label1.Text = PDFWriter1.outputToScreen2.1 setFont
			
				B4X:
			
		
		
		PDFWriter1.setFont(String subType, String baseFont)
PDFWriter1.setFont2(String subType, String baseFont, String encoding)This will set the font in your PDF file.
The difference between setFont and setFont2 is that you can add a encoding to your text in setFont2, see chapter III. PDFStandardFonts.
II. PDFPaperSizes
			
				B4X:
			
		
		
		Dim PaperSize As PDFPaperSizesWith PaperSize you can select, when you create a new document (or with initialize), what paper you would like to use to work with.
Here are all the options:
A0_WIDTH
A0_HEIGHT
A1_WIDTH
A1_HEIGHT
A2_WIDTH
A2_HEIGHT
A3_WIDTH
A3_HEIGHT
A4_WIDTH
A4_HEIGHT
A5_WIDTH
A5_HEIGHT
A6_WIDTH
A6_HEIGHT
A7_WIDTH
A7_HEIGHT
A8_WIDTH
A8_HEIGHT
A9_WIDTH
A9_HEIGHT
A10_WIDTH
A10_HEIGHT
B0_WIDTH
B0_HEIGHT
B1_WIDTH
B1_HEIGHT
B2_WIDTH
B2_HEIGHT
B3_WIDTH
B3_HEIGHT
B4_WIDTH
B4_HEIGHT
B5_WIDTH
B5_HEIGHT
B6_WIDTH
B6_HEIGHT
B7_WIDTH
B7_HEIGHT
B8_WIDTH;
B8_HEIGHT
B9_WIDTH
B9_HEIGHT
B10_WIDTH
B10_HEIGHT
LETTER_WIDTH
LETTER_HEIGHT
TABLOID_WIDTH
TABLOID_HEIGHT
LEDGER_WIDTH
LEDGER_HEIGHT
LEGAL_WIDTH
LEGAL_HEIGHT
STATEMENT_WIDTH
STATEMENT_HEIGHT
EXECUTIVE_WIDTH
EXECUTIVE_HEIGHT
FOLIO_WIDTH
FOLIO_HEIGHT
QUARTO_WIDTH
QUARTO_HEIGHT
III. PDFStandardFonts
			
				B4X:
			
		
		
		Dim Fonts As PDFStandardFontsAnd to end, you can choose between a lot of available fonts.
I won't put them here, but it varies from Times New Roman, to Courier, and some more.
IV. License
The library is licensed under BSD!
So you just have to mention the author. (not me!)
Author: Javier Santho Domingo (j-a-s-d@coderesearchlabs.com)
In the attachments, you can find the library files and 2 text files:
A readme.txt and Sample.txt
The project was just to big to upload here at the forum.
So just copy the content of Sample.txt in a new Basic4Android Project and
check the PDFWriter at the right hand pane in the library tab of the IDE, and run the project.
Have fun.
Tomas
Attachments
			
				Last edited: 
			
		
	
							 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		