我想创建一个可以编辑PDF文档的Python工具。我面临的挑战是我无法保持原始文本颜色。
我发现了 Spire.PDF,它提供了广泛的功能并且运行得非常好。使用此库,我可以保留文本大小和字体,但无法保留文本的颜色或格式(例如粗体、斜体)。
这是我迄今为止开发的代码:
from spire.pdf import *
from spire.pdf.common import *
# Create an object of PdfDocument
pdf = PdfDocument()
# Load a PDF document
pdf.LoadFromFile("Spire.pdf")
# Get user input for the text to replace
input_text = input("Enter the text to replace: ")
output_text = input("Enter the replacement text: ")
# Loop through the pages in the document
for i in range(pdf.Pages.Count):
# Get a page
page = pdf.Pages.get_Item(0)
# Create an object of PdfTextReplacer class based on the page
replacer = PdfTextReplacer(page)
# Find and replace all matched text with a new color
replacer.ReplaceAllText(input_text, output_text, Color.get_Black())
# Save the document
pdf.SaveToFile("output/ReplaceAllMatches.pdf")
pdf.Close()
print(f"Text '{input_text}' has been replaced with '{output_text}' in the output PDF.")
目标是增强此代码,不仅保留原始文本颜色,还保留格式,例如文本是否为粗体、斜体或特定字体样式(例如 Arial Regular、Arial Bold)。这将确保编辑后的 PDF 文档保留与原始文档相同的视觉外观,从而为最终用户提供无缝的服务。
为了实现这一目标,我可能需要探索替代的 PDF 操作库或深入研究 Spire.PDF 文档以发现其他功能。保持文本的原始格式和颜色对于保持 PDF 文档的完整性和美观至关重要。
我将非常感谢任何有关如何增强现有代码以满足这些要求的指导或建议。您在该领域的专业知识对于帮助我开发强大且用户友好的 PDF 编辑工具非常宝贵。
您正在用黑色替换文本实例。如果你想保留原来的颜色,你应该从这段代码中删除Color.get_Black():
replacer.ReplaceAllText(input_text, output_text, Color.get_Black())