from fpdf import FPDF
# Create instance of FPDF class
pdf = FPDF( )
pdf. add_page( )
pdf. set_auto_page_break( auto= True , margin= 15 )
# Title
pdf. set_font( "Arial" , 'B' , 16 )
pdf. cell( 0 , 10 , "ACT Exam Overview" , ln= True , align= 'C' )
pdf. ln( 5 )
# Section data
sections = [
{ "name" : "English" , "questions" : 75 , "marks" : 1 , "negative" : "None" , "time_min" : 45 , "content" : "Usage/Mechanics (grammar, punctuation)\n Rhetorical Skills (strategy, organization, style)" } ,
{ "name" : "Math" , "questions" : 60 , "marks" : 1 , "negative" : "None" , "time_min" : 60 , "content" : "Pre-Algebra\n Elementary Algebra\n Intermediate Algebra\n Coordinate Geometry\n Plane Geometry\n Trigonometry" } ,
{ "name" : "Reading" , "questions" : 40 , "marks" : 1 , "negative" : "None" , "time_min" : 35 , "content" : "4 passages: Prose Fiction, Social Science, Humanities, Natural Science" } ,
{ "name" : "Science" , "questions" : 40 , "marks" : 1 , "negative" : "None" , "time_min" : 35 , "content" : "Data Representation\n Research Summaries\n Conflicting Viewpoints" } ,
{ "name" : "Writing (Optional)" , "questions" : 1 , "marks" : "2–12" , "negative" : "N/A" , "time_min" : 40 , "content" : "Analyze and evaluate multiple perspectives on an issue" }
]
# Add table header
pdf. set_font( "Arial" , 'B' , 12 )
pdf. cell( 40 , 10 , "Section" , 1 )
pdf. cell( 30 , 10 , "Questions" , 1 )
pdf. cell( 30 , 10 , "Marks" , 1 )
pdf. cell( 40 , 10 , "Negative Marking" , 1 )
pdf. cell( 30 , 10 , "Time (min)" , 1 )
pdf. ln( )
# Add table content
pdf. set_font( "Arial" , '' , 12 )
for sec in sections:
pdf. cell( 40 , 10 , sec[ "name" ] , 1 )
pdf. cell( 30 , 10 , str( sec[ "questions" ] ) , 1 )
pdf. cell( 30 , 10 , str( sec[ "marks" ] ) , 1 )
pdf. cell( 40 , 10 , sec[ "negative" ] , 1 )
pdf. cell( 30 , 10 , str( sec[ "time_min" ] ) , 1 )
pdf. ln( )
# Add content description
pdf. multi_cell( 0 , 8 , "Content: " + sec[ "content" ] )
pdf. ln( 2 )
# Total summary
pdf. set_font( "Arial" , 'B' , 12 )
pdf. ln( 5 )
pdf. multi_cell( 0 , 8 , "Total Questions (excluding essay): 215\n Total Time (excluding essay): 175 minutes (~2 hours 55 minutes)" )
# Save PDF
pdf. output( "ACT_Exam_Overview.pdf" )
print ( "PDF generated successfully!" )
ZnJvbSBmcGRmIGltcG9ydCBGUERGCgojIENyZWF0ZSBpbnN0YW5jZSBvZiBGUERGIGNsYXNzCnBkZiA9IEZQREYoKQpwZGYuYWRkX3BhZ2UoKQpwZGYuc2V0X2F1dG9fcGFnZV9icmVhayhhdXRvPVRydWUsIG1hcmdpbj0xNSkKCiMgVGl0bGUKcGRmLnNldF9mb250KCJBcmlhbCIsICdCJywgMTYpCnBkZi5jZWxsKDAsIDEwLCAiQUNUIEV4YW0gT3ZlcnZpZXciLCBsbj1UcnVlLCBhbGlnbj0nQycpCnBkZi5sbig1KQoKIyBTZWN0aW9uIGRhdGEKc2VjdGlvbnMgPSBbCiAgICB7Im5hbWUiOiAiRW5nbGlzaCIsICJxdWVzdGlvbnMiOiA3NSwgIm1hcmtzIjogMSwgIm5lZ2F0aXZlIjogIk5vbmUiLCAidGltZV9taW4iOiA0NSwgImNvbnRlbnQiOiAiVXNhZ2UvTWVjaGFuaWNzIChncmFtbWFyLCBwdW5jdHVhdGlvbilcblJoZXRvcmljYWwgU2tpbGxzIChzdHJhdGVneSwgb3JnYW5pemF0aW9uLCBzdHlsZSkifSwKICAgIHsibmFtZSI6ICJNYXRoIiwgInF1ZXN0aW9ucyI6IDYwLCAibWFya3MiOiAxLCAibmVnYXRpdmUiOiAiTm9uZSIsICJ0aW1lX21pbiI6IDYwLCAiY29udGVudCI6ICJQcmUtQWxnZWJyYVxuRWxlbWVudGFyeSBBbGdlYnJhXG5JbnRlcm1lZGlhdGUgQWxnZWJyYVxuQ29vcmRpbmF0ZSBHZW9tZXRyeVxuUGxhbmUgR2VvbWV0cnlcblRyaWdvbm9tZXRyeSJ9LAogICAgeyJuYW1lIjogIlJlYWRpbmciLCAicXVlc3Rpb25zIjogNDAsICJtYXJrcyI6IDEsICJuZWdhdGl2ZSI6ICJOb25lIiwgInRpbWVfbWluIjogMzUsICJjb250ZW50IjogIjQgcGFzc2FnZXM6IFByb3NlIEZpY3Rpb24sIFNvY2lhbCBTY2llbmNlLCBIdW1hbml0aWVzLCBOYXR1cmFsIFNjaWVuY2UifSwKICAgIHsibmFtZSI6ICJTY2llbmNlIiwgInF1ZXN0aW9ucyI6IDQwLCAibWFya3MiOiAxLCAibmVnYXRpdmUiOiAiTm9uZSIsICJ0aW1lX21pbiI6IDM1LCAiY29udGVudCI6ICJEYXRhIFJlcHJlc2VudGF0aW9uXG5SZXNlYXJjaCBTdW1tYXJpZXNcbkNvbmZsaWN0aW5nIFZpZXdwb2ludHMifSwKICAgIHsibmFtZSI6ICJXcml0aW5nIChPcHRpb25hbCkiLCAicXVlc3Rpb25zIjogMSwgIm1hcmtzIjogIjLigJMxMiIsICJuZWdhdGl2ZSI6ICJOL0EiLCAidGltZV9taW4iOiA0MCwgImNvbnRlbnQiOiAiQW5hbHl6ZSBhbmQgZXZhbHVhdGUgbXVsdGlwbGUgcGVyc3BlY3RpdmVzIG9uIGFuIGlzc3VlIn0KXQoKIyBBZGQgdGFibGUgaGVhZGVyCnBkZi5zZXRfZm9udCgiQXJpYWwiLCAnQicsIDEyKQpwZGYuY2VsbCg0MCwgMTAsICJTZWN0aW9uIiwgMSkKcGRmLmNlbGwoMzAsIDEwLCAiUXVlc3Rpb25zIiwgMSkKcGRmLmNlbGwoMzAsIDEwLCAiTWFya3MiLCAxKQpwZGYuY2VsbCg0MCwgMTAsICJOZWdhdGl2ZSBNYXJraW5nIiwgMSkKcGRmLmNlbGwoMzAsIDEwLCAiVGltZSAobWluKSIsIDEpCnBkZi5sbigpCgojIEFkZCB0YWJsZSBjb250ZW50CnBkZi5zZXRfZm9udCgiQXJpYWwiLCAnJywgMTIpCmZvciBzZWMgaW4gc2VjdGlvbnM6CiAgICBwZGYuY2VsbCg0MCwgMTAsIHNlY1sibmFtZSJdLCAxKQogICAgcGRmLmNlbGwoMzAsIDEwLCBzdHIoc2VjWyJxdWVzdGlvbnMiXSksIDEpCiAgICBwZGYuY2VsbCgzMCwgMTAsIHN0cihzZWNbIm1hcmtzIl0pLCAxKQogICAgcGRmLmNlbGwoNDAsIDEwLCBzZWNbIm5lZ2F0aXZlIl0sIDEpCiAgICBwZGYuY2VsbCgzMCwgMTAsIHN0cihzZWNbInRpbWVfbWluIl0pLCAxKQogICAgcGRmLmxuKCkKICAgICMgQWRkIGNvbnRlbnQgZGVzY3JpcHRpb24KICAgIHBkZi5tdWx0aV9jZWxsKDAsIDgsICJDb250ZW50OiAiICsgc2VjWyJjb250ZW50Il0pCiAgICBwZGYubG4oMikKCiMgVG90YWwgc3VtbWFyeQpwZGYuc2V0X2ZvbnQoIkFyaWFsIiwgJ0InLCAxMikKcGRmLmxuKDUpCnBkZi5tdWx0aV9jZWxsKDAsIDgsICJUb3RhbCBRdWVzdGlvbnMgKGV4Y2x1ZGluZyBlc3NheSk6IDIxNVxuVG90YWwgVGltZSAoZXhjbHVkaW5nIGVzc2F5KTogMTc1IG1pbnV0ZXMgKH4yIGhvdXJzIDU1IG1pbnV0ZXMpIikKCiMgU2F2ZSBQREYKcGRmLm91dHB1dCgiQUNUX0V4YW1fT3ZlcnZpZXcucGRmIikKcHJpbnQoIlBERiBnZW5lcmF0ZWQgc3VjY2Vzc2Z1bGx5ISIp
stdin
MQoyCjEwCjQyCjExCmZyb20gZnBkZiBpbXBvcnQgRlBERgoKIyBDcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFBERiBjbGFzcwpwZGYgPSBGUERGKCkKcGRmLmFkZF9wYWdlKCkKcGRmLnNldF9mb250KCZxdW90O0FyaWFsJnF1b3Q7LCBzaXplPTEyKQoKIyBDb21wYW55IEluZm9ybWF0aW9uCnBkZi5jZWxsKDIwMCwgMTAsICZxdW90O0NPTVBBTlkgTkFNRSZxdW90OywgbG49VHJ1ZSwgYWxpZ249J0MnKQpwZGYuY2VsbCgyMDAsIDEwLCAmcXVvdDtDb21wYW55IEFkZHJlc3MmcXVvdDssIGxuPVRydWUsIGFsaWduPSdDJykKcGRmLmNlbGwoMjAwLCAxMCwgJnF1b3Q7UGhvbmU6IFhYWFhYWFhYWFgmcXVvdDssIGxuPVRydWUsIGFsaWduPSdDJykKcGRmLmxuKDEwKQoKIyBFbXBsb3llZSBJbmZvcm1hdGlvbgpwZGYuY2VsbCgxMDAsIDEwLCAmcXVvdDtFbXBsb3llZSBOYW1lOiBEaXBlbmRyYSBEaGFrYWwmcXVvdDssIGxuPVRydWUpCnBkZi5jZWxsKDEwMCwgMTAsICZxdW90O0VtcGxveWVlIElEOiAyODg1NTA2MTcmcXVvdDssIGxuPVRydWUpCnBkZi5jZWxsKDEwMCwgMTAsICZxdW90O0Rlc2lnbmF0aW9uOiBTZXJ2aWNlIFByb3ZpZGVyJnF1b3Q7LCBsbj1UcnVlKQpwZGYuY2VsbCgxMDAsIDEwLCAmcXVvdDtNb250aDogSnVuZSAyMDI0JnF1b3Q7LCBsbj1UcnVlKQpwZGYubG4oMTApCgojIEVhcm5pbmdzCnBkZi5jZWxsKDEwMCwgMTAsICZxdW90O0Vhcm5pbmdzOiZxdW90OywgbG49VHJ1ZSkKcGRmLmNlbGwoMTAwLCAxMCwgJnF1b3Q7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJnF1b3Q7LCBsbj1UcnVlKQpwZGYuY2VsbCgxMDAsIDEwLCBmJnF1b3Q7U2VydmljZSBQcm92aXNpb246IDI1MDAuMDAgJmV1cm87JnF1b3Q7LCBsbj1UcnVlKQpwZGYubG4oNSkKcGRmLmNlbGwoMTAwLCAxMCwgZiZxdW90O0dyb3NzIFBheTogMjUwMC4wMCAmZXVybzsmcXVvdDssIGxuPVRydWUpCnBkZi5sbigxMCkKCiMgRGVkdWN0aW9ucwpwZGYuY2VsbCgxMDAsIDEwLCAmcXVvdDtEZWR1Y3Rpb25zOiZxdW90OywgbG49VHJ1ZSkKcGRmLmNlbGwoMTAwLCAxMCwgJnF1b3Q7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJnF1b3Q7LCBsbj1UcnVlKQpwZGYuY2VsbCgxMDAsIDEwLCBmJnF1b3Q7SVZBICgyMyUpOiA1NzUuMDAgJmV1cm87JnF1b3Q7LCBsbj1UcnVlKQpwZGYuY2VsbCgxMDAsIDEwLCBmJnF1b3Q7SVJTICgxMS41JSk6IC0yODcuNTAgJmV1cm87JnF1b3Q7LCBsbj1UcnVlKQpwZGYuY2VsbCgxMDAsIDEwLCBmJnF1b3Q7UGxhdGZvcm0gVXNhZ2UgRmVlOiAtMS44NSAmZXVybzsmcXVvdDssIGxuPVRydWUpCnBkZi5sbig1KQpwZGYuY2VsbCgxMDAsIDEwLCBmJnF1b3Q7VG90YWwgRGVkdWN0aW9uczogMjg1LjY1ICZldXJvOyZxdW90OywgbG49VHJ1ZSkKcGRmLmxuKDEwKQoKIyBOZXQgUGF5CnBkZi5jZWxsKDEwMCwgMTAsIGYmcXVvdDtOZXQgUGF5OiAyMjE0LjM1ICZldXJvOyZxdW90OywgbG49VHJ1ZSkKcGRmLmxuKDEwKQoKIyBGb290ZXIKcGRmLmNlbGwoMTAwLCAxMCwgJnF1b3Q7U2lnbmF0dXJlIG9mIEVtcGxveWVyOiBfX19fX19fX19fX19fXyZxdW90OywgbG49VHJ1ZSkKcGRmLmNlbGwoMTAwLCAxMCwgJnF1b3Q7RGF0ZTogMDYgSnVuZSAyMDI0JnF1b3Q7LCBsbj1UcnVlKQoKIyBTYXZlIHRoZSBQREYKcGRmX291dHB1dF9wYXRoID0gJnF1b3Q7L21udC9kYXRhL1NhbGFyeV9TbGlwX0RpcGVuZHJhX0RoYWthbF8yNTAwLnBkZiZxdW90OwpwZGYub3V0cHV0KHBkZl9vdXRwdXRfcGF0aCkKCnBkZl9vdXRwdXRfcGF0aAo=
1
2
10
42
11
from fpdf import FPDF
# Create a new instance of the PDF class
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
# Company Information
pdf.cell(200, 10, "COMPANY NAME", ln=True, align='C')
pdf.cell(200, 10, "Company Address", ln=True, align='C')
pdf.cell(200, 10, "Phone: XXXXXXXXXX", ln=True, align='C')
pdf.ln(10)
# Employee Information
pdf.cell(100, 10, "Employee Name: Dipendra Dhakal", ln=True)
pdf.cell(100, 10, "Employee ID: 288550617", ln=True)
pdf.cell(100, 10, "Designation: Service Provider", ln=True)
pdf.cell(100, 10, "Month: June 2024", ln=True)
pdf.ln(10)
# Earnings
pdf.cell(100, 10, "Earnings:", ln=True)
pdf.cell(100, 10, "---------------------------", ln=True)
pdf.cell(100, 10, f"Service Provision: 2500.00 €", ln=True)
pdf.ln(5)
pdf.cell(100, 10, f"Gross Pay: 2500.00 €", ln=True)
pdf.ln(10)
# Deductions
pdf.cell(100, 10, "Deductions:", ln=True)
pdf.cell(100, 10, "---------------------------", ln=True)
pdf.cell(100, 10, f"IVA (23%): 575.00 €", ln=True)
pdf.cell(100, 10, f"IRS (11.5%): -287.50 €", ln=True)
pdf.cell(100, 10, f"Platform Usage Fee: -1.85 €", ln=True)
pdf.ln(5)
pdf.cell(100, 10, f"Total Deductions: 285.65 €", ln=True)
pdf.ln(10)
# Net Pay
pdf.cell(100, 10, f"Net Pay: 2214.35 €", ln=True)
pdf.ln(10)
# Footer
pdf.cell(100, 10, "Signature of Employer: ______________", ln=True)
pdf.cell(100, 10, "Date: 06 June 2024", ln=True)
# Save the PDF
pdf_output_path = "/mnt/data/Salary_Slip_Dipendra_Dhakal_2500.pdf"
pdf.output(pdf_output_path)
pdf_output_path
stdout
from fpdf import FPDF
# Create instance of FPDF class
pdf = FPDF()
pdf.add_page()
pdf.set_auto_page_break(auto=True, margin=15)
# Title
pdf.set_font("Arial", 'B', 16)
pdf.cell(0, 10, "ACT Exam Overview", ln=True, align='C')
pdf.ln(5)
# Section data
sections = [
{"name": "English", "questions": 75, "marks": 1, "negative": "None", "time_min": 45, "content": "Usage/Mechanics (grammar, punctuation)\nRhetorical Skills (strategy, organization, style)"},
{"name": "Math", "questions": 60, "marks": 1, "negative": "None", "time_min": 60, "content": "Pre-Algebra\nElementary Algebra\nIntermediate Algebra\nCoordinate Geometry\nPlane Geometry\nTrigonometry"},
{"name": "Reading", "questions": 40, "marks": 1, "negative": "None", "time_min": 35, "content": "4 passages: Prose Fiction, Social Science, Humanities, Natural Science"},
{"name": "Science", "questions": 40, "marks": 1, "negative": "None", "time_min": 35, "content": "Data Representation\nResearch Summaries\nConflicting Viewpoints"},
{"name": "Writing (Optional)", "questions": 1, "marks": "2–12", "negative": "N/A", "time_min": 40, "content": "Analyze and evaluate multiple perspectives on an issue"}
]
# Add table header
pdf.set_font("Arial", 'B', 12)
pdf.cell(40, 10, "Section", 1)
pdf.cell(30, 10, "Questions", 1)
pdf.cell(30, 10, "Marks", 1)
pdf.cell(40, 10, "Negative Marking", 1)
pdf.cell(30, 10, "Time (min)", 1)
pdf.ln()
# Add table content
pdf.set_font("Arial", '', 12)
for sec in sections:
pdf.cell(40, 10, sec["name"], 1)
pdf.cell(30, 10, str(sec["questions"]), 1)
pdf.cell(30, 10, str(sec["marks"]), 1)
pdf.cell(40, 10, sec["negative"], 1)
pdf.cell(30, 10, str(sec["time_min"]), 1)
pdf.ln()
# Add content description
pdf.multi_cell(0, 8, "Content: " + sec["content"])
pdf.ln(2)
# Total summary
pdf.set_font("Arial", 'B', 12)
pdf.ln(5)
pdf.multi_cell(0, 8, "Total Questions (excluding essay): 215\nTotal Time (excluding essay): 175 minutes (~2 hours 55 minutes)")
# Save PDF
pdf.output("ACT_Exam_Overview.pdf")
print("PDF generated successfully!")