C# 如何使用相对文件路径和PDFsharp创建PDF文件链接?
我的应用程序创建一个Content.pdf文件,该文件链接到Server.pdf和Client.pdf。这是文件夹结构:C# 如何使用相对文件路径和PDFsharp创建PDF文件链接?,c#,pdf,hyperlink,relative-path,pdfsharp,C#,Pdf,Hyperlink,Relative Path,Pdfsharp,我的应用程序创建一个Content.pdf文件,该文件链接到Server.pdf和Client.pdf。这是文件夹结构: ..\MyApp\resources\Content.pdf ..\MyApp\resources\Server\Server.pdf ..\MyApp\resources\Client\Client.pdf 此外,文件夹和文件会被刻录到CD/DVD或备份到网络驱动器上,这会导致我使用相对文件路径。我使用以下代码创建Content.pdf: 相对网络链接: var rel
- ..\MyApp\resources\Content.pdf
- ..\MyApp\resources\Server\Server.pdf
- ..\MyApp\resources\Client\Client.pdf
var relativeFileLinkPath = "./" + Directory.GetParent(doc.Uri.LocalPath).Name + "/"+ doc.OutputFileName;
page.AddWebLink(pdfrect, relativeFileLinkPath);
相对文件链接:
var relativeFileLinkPath = "./" + Directory.GetParent(doc.Uri.LocalPath).Name + "/"+ doc.OutputFileName;
page.AddFileLink(pdfrect, relativeFileLinkPath);
两者在本地驱动器上都可以正常工作,但我的问题是:
- 网络链接无法在网络驱动器上工作/打开
- FileLinks关闭Content.pdf并将其替换为链接的pdf文件
- 在单击文件链接时按住CTRL键是一个选项,但不是一个好的解决方案
相对PDF web链接的正确语法是什么?
AddFileLink
是文件夹中并排放置文件的正确方法
要控制是否打开新窗口,需要对PDFsharp的PDF注释类进行一点修改。PDF支持PDFsharp当前无法设置的NewWindow
属性
获取PDFsharp的源代码,在PDFsharp.cs中找到“
,并将其替换为”
免责声明:我没有测试提议的更改-我希望它在语法上是正确的,并且我希望它能满足您的需要。免责声明2:PDFsharp 1.50 beta 3需要此更改。更高版本可能支持该标志。我通过引用管理器将PDFSharp添加到我的WPF应用程序中。(
packages\PDFsharp MigraDoc WPF.1.32.2608.0
)我必须删除该包并手动添加它,还是有其他选项?