我正在使用cfdocument标签创建PDF。 PDF并不仅仅是一堆到其他PDF的链接。ColdFusion CFDOCUMENT与其他PDF的链接
所以我创建这个PDF索引和链接所有的HREF
<a href="Another_PDF.pdf">Another PDF</a>
如果我设置localURL属性设置为“无”我的网址在他们的整个网络路径:
<a href="http://www.mywebsite.com/media/PDF/Another_PDF.pdf">Another PDF</a>
如果我将localURL属性设置为“是”,那么我得到:
<a href="File:/D:/website/media/PDF/Another_PDF.pdf">Another PDF</a>
因此,此索引PDF将放到CD和al链接的PDF文件l的打算坐的旁边,所以我需要一个相对链接...更像是:
<a href="Another_PDF.pdf">Another PDF</a>
cfdocument似乎并没有做到这一点。我可以修改文件的文件名并使其成为“File:///Another_PDF.pdf”,但这不起作用,因为我不知道CD驱动器的驱动器号......或者如果文件将要最终进入CD上的一个目录。
有没有一种方法(可能使用iText或其他)打开PDF一旦创建并将URL链接转换为实际的PDF GoTo标签?
我知道这是一种拉伸,但我在我的智慧结束与此。
所以我设法进入对象,但我仍然在努力。
从转换:
5 0 obj<</C[0 0 1]/Border[0 0 0]/A<</URI(File:///75110_002.PDF)/S/URI>>/Subtype/Link/Rect[145 502 184 513]>>endobj
要这样:
19 0 obj<</SGoToR/D[0/XYZ null null 0]/F(75110_002.PDF)>>endobj
20 0 obj<</Subtype/Link/Rect[145 502 184 513]/Border[0 0 0]/A 19 0 R>>endobj
哇,这真的踢我的屁股! :)
所以我设法打开文档,通过链接注释循环,捕捉矩形坐标和链接到文件名(存入结构数组),然后成功删除其注释是一个URI链接。
所以现在我想我现在可以遍历该结构数组,并使用createLink方法或setAction方法将Annotations放回到文档中。但是我所见过的这些方法的所有例子都附加在一个块(文本)上。但是我的文档已经有了文本,所以我不需要重新创建我只需要将链接重新放入同一位置的文本链接。
所以我想我可以重新打开文档,寻找链接的实际文本,然后将setAction附加到已有的现有文本块....我无法找到文本!
我吸! :)
CD目录结构是已知的/总是一样的吗? – gfrobenius
这不是......或者理想情况下,它应该是动态的。现在我正在查看一张名为“STD_FLD”的目录中包含所有PDF(包括索引)的CD,因此我的计算机上的路径为J:\ STD_FLD,因为我的CD驱动器是我的J驱动器。 –
索引PDF真的应该是相对于它自己。您应该能够将所有PDF从CD中拖出并存储到任何地方,并且链接仍然可以正常工作。 –