将Excel文件导出为PDF格式,而不会失去超链接功能

问题描述 投票:2回答:1

我使用以下代码读取Excel文件并将所选的图纸导出为PDF:

import win32com.client

xlsx_path = "" #insert path to excel file
pdf_path = "" #insert path to pdf output

excel = win32com.client.gencache.EnsureDispatch("Excel.Application")
wb = excel.Workbooks.Open(xlsx_path)
sheet_list = ["Sheet1", "Sheet2"]
wb.Worksheets(sheet_list).Select()
wb.ActiveSheet.ExportAsFixedFormat(0, pdf_path)
wb.Close()

在Excel文件中,我具有在工作表之间切换的超链接,但是这些链接失去了PDF格式的功能。我使用的宏的一个示例是:

=HYPERLINK("[file.xlsx]Sheet1!A1","back")

我的问题是,是否可以将链接功能保留为PDF格式?

python excel vba pdf-generation win32com
1个回答
0
投票

这不完全是简单的事情,格式化可能是个问题,但是如果您Excel文件中的内容是带有文本和数字的简单表(没有图像或精美的格式,则可能有使用LaTeX的方法:

  1. 以LaTeX格式导出Excel内容。您可以找到可以用于VBA(like this one)或Python的现有软件包,或者至少是一个不错的起点。
  2. 在LaTeX文件中,查找并替换以将您的链接更改为适用于LaTeX的正确格式。 (有关更多详细信息,请参见this question。)>
  3. 通过VBA(使用shell命令)或Python将LaTeX文件编译为PDF。
© www.soinside.com 2019 - 2024. All rights reserved.