2012-08-13 30 views
1

很抱歉,如果這屬於對serverfault管道SVG文件到ImageMagick的

我想知道正確的方法是使用SVG(XML)字符串作爲標準輸入 的"convert msvg:- jpeg:- 2>&1"命令是什麼(使用Linux)

目前我只保存一個臨時文件作爲輸入, 但數據來源於我的情況下的API,因此將 字符串直接送入命令顯然是最有效的。

我很感謝大家的幫助。謝謝!

回答

1

這應該工作:

convert - output.jpg 

例子:

convert logo: logo.svg 
cat logo.svg | convert - logo.jpg 

說明:

  1. 這個例子的第一行創建一個SVN文件,並將其寫入到磁盤。這只是一個預備的停止,所以我們可以運行第二條線。

  2. 第二行是一個管道兩個命令cat流文件的字節標準輸出(標準輸出)。

  3. 第一線擔任只爲在管道中的下一個命令的準備,讓下一個命令有東西在閱讀。

  4. 下一個命令是convert

  5. -字符是一個方式告訴convert從磁盤讀不懂它的輸入數據,但是從標準輸入(標準輸入)。

  6. 所以convert標準輸入讀取輸入數據和輸出JPEG寫入文件logo.jpg

  7. 所以我的第一個命令/行與您所描述的步驟相似'目前我只是將一個臨時文件保存爲輸入'

  8. 我的第二個命令/行不使用你的API(我沒有訪問它,是吧?),但它展示了一種不同的方法來「直接將一個字符串命令」

  9. 所以最重要的教訓是:徘徊無論convert通常會從文件中讀取輸入,並在那裏你會寫在命令行上文件的名稱,你可以通過-替換文件名告訴convert應該從標準輸入讀取。 (但是你需要確保在convert的標準輸入中提供了它可以消化的東西......)

對不起,我無法解釋比這更好的...

+0

對不起,也許我在這只是新的 - 但我不明白這一點。我的實際數據字串在哪裏? – Doug 2012-08-14 01:51:44

+1

@Doug:更新後的答案能幫助你更好嗎? – 2012-08-14 19:07:54

+0

好的,現在這個方法顯而易見,只是想看看它爲什麼做它,謝謝解釋! – Doug 2012-08-22 18:08:23