以下是一个使用Python和第三方库PyPDF2的示例代码,将一个文本文件保存为PDF并保留文本:
import PyPDF2
def save_as_pdf_with_text(txt_file, pdf_file):
# 打开文本文件
with open(txt_file, 'r', encoding='utf-8') as file:
text_content = file.read()
# 创建PDF写入对象
pdf_writer = PyPDF2.PdfFileWriter()
# 创建PDF页面对象并添加文本内容
pdf_page = PyPDF2.pdf.PageObject.create_blank_page(None, 72, 72) # 创建空白页面
pdf_page.mergePage(PyPDF2.pdf.PageObject.create_text_object(text_content)) # 添加文本内容
# 将页面对象添加到PDF写入对象中
pdf_writer.addPage(pdf_page)
# 保存PDF文件
with open(pdf_file, 'wb') as file:
pdf_writer.write(file)
# 示例用法
txt_file = 'input.txt'
pdf_file = 'output.pdf'
save_as_pdf_with_text(txt_file, pdf_file)
在示例代码中,首先通过打开文本文件并读取内容,将文本内容保存到text_content
变量中。
然后,使用PyPDF2创建一个PDF写入对象pdf_writer
。
接下来,使用PyPDF2.pdf.PageObject.create_blank_page()
方法创建一个空白的PDF页面对象pdf_page
。
使用PyPDF2.pdf.PageObject.create_text_object()
方法创建一个包含文本内容的页面对象,并将其与空白页面合并。
最后,将页面对象添加到PDF写入对象中,并使用pdf_writer.write()
方法将PDF写入到文件中,保存为PDF文件。
请注意,此示例代码仅适用于将纯文本保存为PDF的简单情况。如果文本内容包含复杂的格式、图片或其他元素,可能需要使用其他更复杂的方法来处理。