I have these functions
def investment_summary(pdf, text):
pdf.set_font("Arial", size=8)
pdf.write(5, text)
for point in text.splitlines():
if point.startswith("-"):
pdf.set_x(15)
pdf.write(5, point)
def create_report(county_and_state, llm_text, analytics_location_path=None):
pdf = FPDF()
pdf.add_page()
pdf.set_text_color(r=50,g=108,b=175)
pdf.set_font('Arial', 'B', 18)
pdf.cell(w=0, h=10, txt="Verus-AI: " + county_and_state, ln=1,align='C')
pdf.set_font('Arial', 'B', 16)
pdf.cell(w=0, h=10, txt="Investment Summary", ln=1,align='L')
investment_summary(pdf, llm_text)
# pdf.set_text_color(r=50,g=108,b=175)
# pdf.set_font('Arial', 'B', 16)
# pdf.cell(w=0, h=10, txt="Analytics", ln=1,align='L')
pdf.output(f'./example1.pdf', 'F')
When I use this text:
text = """
Branch County is a rural county in southwestern Michigan, with a population of about 45,000. The county seat is Coldwater, which is also the largest city in the county. The county has a diverse economy, with agriculture, manufacturing, health care, and education as the main sectors. The county is also home to several state parks, lakes, and recreational trails.
Pros of investing in Branch County, MI:
- Low property taxes and affordable housing prices, compared to the state and national averages.
- High rental demand and low vacancy rates, due to the lack of new construction and the presence of several colleges and universities in the county.
- Potential for appreciation and cash flow, as the county has a stable and growing population, a low unemployment rate, and a strong school system.
- Opportunity to diversify your portfolio and hedge against inflation, by investing in different types of properties, such as single-family homes, multi-family buildings, mobile homes, and land.
Cons of investing in Branch County, MI:
- Limited access to public transportation and major highways, which may affect the mobility and convenience of tenants and owners.
- High crime rates and low quality of education in some areas, which may deter some potential renters and buyers.
- Weather-related risks, such as harsh winters, floods, and tornadoes, which may require additional maintenance and insurance costs.
- Lack of economic and demographic diversity, which may limit the future growth and demand for real estate in the county.
Overall investment thesis:
Branch County, MI is a viable option for real estate investors who are looking for a long-term, passive, and income-generating strategy. The county offers a combination of low-cost, high-demand, and appreciating properties, with a relatively low risk of market fluctuations and downturns. However, investors should also be aware of the potential drawbacks and challenges of investing in a rural and homogeneous market, and be prepared to deal with the environmental and social issues that may arise. Investors should also conduct thorough due diligence and research on the specific locations, neighborhoods, and properties that they are interested in, and seek professional advice and guidance as needed.
"""
and call the function create_report("Branch County, MI", text)
I get this
I am not sure why text on the bottom bleeds in with other text, any suggestions on how to fix this would be greatly appreciated.
This is connected to Generating line break in FPDF and the write method of fpdf.
As described in the answer to above mentioned question, try replacing pdf.write
by pdf.multi_cell
in the investment_summary
function:
def investment_summary(pdf, text, bullet_indent=15):
pdf.set_font("Arial", size=8)
for point in text.splitlines():
if point.startswith("-"):
pdf.set_x(bullet_indent)
pdf.multi_cell(0, 5, point)