2012-09-12 150 views
1

我使用csxi來掃描documnets作爲圖像,但我必須將pdf文件上傳到服務器。我怎樣才能在PHP中將圖像轉換爲PDF?或者是有什麼辦法可以讓csxi文檔掃描爲PDF沒有像將圖像轉換爲PDF php

+0

ImageMagick的可讀寫PDF文件,以及其他圖像。 – DCoder

+0

你有使用Imagic的清晰演示嗎? – palAlaa

+0

'shell_exec('convert /path/to/input.png /path/to/output.pdf')'如果你的服務器配置正確,就會訣竅 - 安裝Imagick,安裝GhostScript,允許php執行shell命令等 – DCoder

回答

2

包裹裏面HTML您的圖像,並使用一些HTML to PDF converterfpdfmpdf

+0

圖像發送到CSXI緩衝區併發送到php服務器..所以我不能將圖像包裝在HTML中。 – palAlaa

0

對於短短的圖像,與Chrome網絡手動,輕鬆地做到這一點瀏覽器。你不需要互聯網連接。

  1. 保存與.html擴展在圖像的同一文件夾下:
<html> 
<body> 
<img src="image.jpg" width="100%"> 
</body> 
</html> 
  • 打開谷歌瀏覽器的HTML文件,
  • Crtl + P打開打印對話框
  • 選擇另存爲PDF將其保存到本地
  • 或者,你可以抄報通過谷歌雲中的smatphone打印
  • 0

    如果您的機器上安裝的ImageMagick你可以使用ImageMagick bindings for PHP執行一些簡單的PHP代碼來執行此任務:

    $im=new Imagick('my.png'); 
    $im->setImageFormat('pdf'); 
    $im->writeImage('my.pdf'); 
    

    或者,如果您沒有ImageMagick可用,您可以使用支持通過PHP進行PDF轉換的圖像(更多信息in the docs)的商業API,例如Zamzar。使用此

    代碼如下:

    <?php 
    // Build request 
    $endpoint = "https://api.zamzar.com/v1/jobs"; 
    $apiKey = "YOUR_API_KEY"; 
    $sourceFilePath = "my.png"; 
    $targetFormat = "pdf"; 
    
    $sourceFile = curl_file_create($sourceFilePath);  
    $postData = array(
        "source_file" => $sourceFile, 
        "target_format" => $targetFormat 
    ); 
    
    // Send request 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $endpoint); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
    curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_USERPWD, $apiKey . ":"); 
    $body = curl_exec($ch); 
    curl_close($ch); 
    
    // Process response (with link to converted files) 
    $response = json_decode($body, true); 
    print_r($response); 
    ?>