我正在使用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中拖出並存儲到任何地方,並且鏈接仍然可以正常工作。 –