I am just learning Python, so sorry for this really beginners question. That’s how we learn though, right?
I am using Jupyter Notebook. I have made a Class which fetches a html page and saves it as a PDF file. This works very well. You can see the first and last part of the code here:
import requests from bs4 import BeautifulSoup from fpdf import FPDF, XPos, YPos # Function to summarize text def Getsummarizetext(): # your code to summarize text goes here summarizetext() class PDF(FPDF): def chapter_title(self, num, label): # Arial 12 self.set_font('ArialUnicodeMS', '', 12) After this, the code ends like this: # Save HTML content to file with open('SummarizedText.html', 'w', encoding='utf-8') as f: f.write(html_content) # Create PDF object pdf = PDF() pdf.add_font('ArialUnicodeMS', '', 'arialuni.ttf') pdf.set_font('ArialUnicodeMS', '', 12) # Set document properties title = 'Guidelines' pdf.set_title(title) pdf.set_author('Castor') # Print chapter pdf.print_chapter(1, 'Summarized Text', 'SummarizedText.html', 'document.txt') # Save PDF file pdf.output('SummarizedGuidelines.pdf')
I have another function which also work well called ‘summarizetext()’ This function summarizes the file called ‘document.txt’ just created in the code above.
I was expecting that when I add this line ‘summarizetext()’ (see below) to the end of the PDF code then the PDF code would just execute the summarize code that summarizes document.txt
# Print chapter pdf.print_chapter(1, 'Summarized Text', 'SummarizedText.html', 'document.txt') # Save PDF file pdf.output('SummarizedGuidelines.pdf') Getsummarizetext()
However, I get an error NameError: name ‘summarizetext’ is not defined
I rather not insert all the ‘summarizetext’ code into the PDF code, but rather call the function. The function is saved in another code file in my python directory.
What am I doing wrong?
Thanks in advance for all responses.