2009-10-07 67 views
4

您是否知道Perl的PDF::API2模塊是否可以生成包含英文和希伯來文文本的文檔?我搜索了一段時間,似乎無法找到如何處理從右到左的語言文本。我可以使用希伯來文和英文文本在Perl中生成PDF文件嗎?

最後我想列出英文在一列和希伯來文在另一列。但我很樂意將這兩個文本放在不同的路線上。

如果需要,我打算使用外部工具,但希望採用比使用OpenOffice或FireFox打印到PDF更輕量級的方法。

回答

1

那麼,我不知道如何使用PDF::API2,更不用說使用它創建希伯來文檔了,所以我無法幫到你。

在潛入PDF::API2之前我會先嚐試PDF::FromHTML,但後來我很害怕。

+0

如果您很害怕,請不要*查看PDF :: FromHTML源代碼。 – ysth 2009-10-08 00:47:27

+0

是的,但使用模塊並不是一種可怕的體驗。 – 2009-10-08 01:02:45

+0

PDF :: FromHTML將不起作用,因爲希伯來文文本從左到右,而不是從右到左。這是通過CSS和PDF完成的HTML :: FromHTML不做CSS。 – mpeters 2009-11-10 21:01:16

-1

你真的有使用PDF::API2?我不知道那個圖書館,但只是試了一下;它似乎對低級編程有很好的基本代碼,但我沒有看到與實際排版相關的任何內容,更不用說針對從右到左排版的特定要求。 Hello, World!的例子效果很好,甚至可以用任意的TrueType字體替換那裏使用的核心字體(只需用$pdf->ttfont('/path/to/font/file.ttf');替換$pdf->corefont('Helvetica-Bold');調用)但是我找不到任何關於編碼的東西,首先,甚至不會設置一個希伯來字符,因爲UTF-8序列在PDF文件中出現亂碼(我也嘗試了其他一些編碼,但無濟於事)。顯然有一些支持,因爲我看到一個名爲PDF/API2/Basic/TTF/Cmap.pm的文件(cmap是定義字體編碼的TrueType表格),但它又似乎處於相當低的水平水平。

我應該補充說文檔看起來非常稀少(包括一個完全爲空的標題爲「字體和排版」的小節!),並且該開發在2005年明顯停止;我認爲圖書館至今還不完善,無法用於真正的項目(特別是像你這樣的項目)。這是一個真正的遺憾,因爲十年前似乎有這麼多的發展。

0

PDF::API2有很多功能,但它是非常深奧的。我發現文檔很難挖掘所需的信息。爲了使PDF能夠正確呈現,您必須讓所有內容「恰到好處」,並且就好像您的需求發生變化一樣,它往往會對您現有的代碼產生級聯效應,以使所有內容都能夠良好地一起玩。例如,在特定位置插入一個元素可能意味着您需要重新計算該頁面上呈現的所有其他元素的位置,直至單點精度,具體取決於您如何使用API​​。

因此,我們最近放棄了使用PDF :: API2的解決方案,而是開始生成HTML,然後我們使用外部工具將其轉換爲PDF。有一些很好的免費版本,例如SinanÜnür建議的PDF::FromHTML。如果你想使用你的HTML並將它很好地轉換爲PDF(儘管我沒有親自使用它們),還有一些功能豐富的商業版本。

如果您需要對現有PDF進行一些簡單的操作,而不是生成它們,我會使用(並使用)CAM::PDF

總之,我不推薦使用PDF :: API2,除非您願意花費大量時間弄清楚所有錯綜複雜的情況,並親自支持您的應用程序以適應未來。它功能非常強大且功能豐富,但除非您確切知道自己在做什麼,否則缺少文檔和示例會比模塊更有幫助。

相關問題