2011-11-16 63 views
1

是否可以更改PDF文檔中頁面的大小而不調整其全部內容?我希望所有文字都按照新尺寸包裝其內容。調整PDF頁面和換行文字?

我一直沒有找到任何有關這方面的信息。看到在寫入文本時PDF庫如何工作,我想這是不可能的,但也許有辦法解決這個問題。

我主要是在尋找一些.Net代碼,PDFSharp,iTextSharp,PDF Clown,或者任何其他的.Net庫,如果某些工具已經允許我也會對此感興趣。當然,一些Java iText代碼也可以。

回答

3

PDF文檔的內部沒有「句子」或「段落」的概念,所以您尋找的內容在提取文本,猜測這些概念和創建全新文件。諸如iTextSharp和PDF Clown之類的庫具有使文本工作更容易的抽象,但最終它們都歸結爲能夠繪製字符或文本行的PDF命令。我們認爲的段落只是PDF中的一串垂直間隔的文本。圖書館執行計算如何將「段落」轉換爲文本行的繁重工作,一旦發生這種情況,就沒有更多的「段落」。爲了「流動」文本,我們需要這些概念,這樣你就可以明白爲什麼這不起作用。

還有可能是一些圖書館提供這個,但我似乎並沒有看到他們,最終他們也會猜測。

+0

當我看到文本是如何繪製的時候,我立即意識到了你沒有提及的問題,但是看到像iText這樣的庫可能會有一些自動化的方法。我想知道Acrobat Reader Pro是否允許這樣的事情。 – Neverbirth

+0

如果你發現有這樣的事情讓我知道,我也有一些用途!但是我只能想到如果實際實現的邊緣情況沒有定義。例如,如果迴流導致新頁面,會發生什麼,它只是空白,還是應該基於它的模板?那麼頁眉和頁腳怎麼樣,這些應該可能只是被移動而不是迴流。什麼是對齊,左vs中心?後者實際上只是與額外的字符間距左對齊。這些是讓我認爲沒有任何東西可以自動化的東西。 –

+0

我知道會有很多格式需要考慮,以及很多情況下,你肯定會用無用的PDF結束,但我不需要任何非常複雜的東西。這將自動轉換幾個PDF文件,如果其中一些看起來不像預期的那麼近,我會手工製作一個正確調整大小的PDF版本。由於這些PDF來自Word文件,我也想過改變文檔文件的寬度,並從那裏生成一個新的PDF,但我還沒有解決這個問題。 – Neverbirth