2016-07-11 5 views
2

У меня есть html-страница, такая как JsFiddle, и я хочу преобразовать ее в pdf, я не могу создать строку в строке pdf, потому что страница динамически создается, я использую php для вызова fiel которые подключаются к mysql и заполняют файл шаблона.как преобразовать страницу в pdf в php

$_POST['IdQuestionario']=5; 
$_POST['IdUtente']=10001; 
$_POST['Visualizza']=true; 
$_POST['IdImpianto']=1; 
$_POST['Stampa']=true; 
$_POST['TipoImpianto']='grande'; 

ob_start(); 
ob_clean(); 
require_once 'intro.php'; 
$tbl=ob_get_clean(); 
$html.=$tbl; 

Я пытаюсь с tcpf, MPDF, jsPDF, но я не могу получить дискретный выход, потому что я использую COLGROUP для таблицы. кто-нибудь скажет мне метод для рендеринга страницы, если возможно, без установки программного обеспечения на сервере.

+0

вы пытались http://www.fpdf.org? вы можете вставить html, а также –

+0

Я пытаюсь, но файл не в хорошем формате – Ossarotte

+0

вы можете разместить полный код, который вы используете? –

ответ

2

Есть несколько, о которых я знаю - некоторые из них имеют проблемы со столами, я бы избегал DOMPDF - известных проблем с таблицами.

Есть один рекомендованный от cvision; У меня нет образца кода, но вы можете скачать его бесплатно и даже попробовать в Интернете.

Там же PHP-PDF продукт, доступный из muhimbi (чуть менее известный !, но я думаю, что это бесплатно)

<?php 
// Include the generated proxy classes 
require_once "documentConverterServices.php"; 
// Check the uploaded file 
if ($_FILES["file"]["error"] > 0) 
{ 
    echo "Error uploading file: " . $_FILES["file"]["error"]; 
} 
else 
{ 
    // Get the uploaded file content 
    $sourceFile = file_get_contents($_FILES["file"]["tmp_name"]); 

    // Create OpenOptions 
    $openOptions = new OpenOptions(); 
    // set file name and extension 
    $openOptions->FileExtension = pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION); 
    $openOptions->OriginalFileName = $_FILES["file"]["name"]; 
    // Create conversionSettings 
    $conversionSettings = new ConversionSettings(); 
    // Set the output format 
    if(isset($_POST["outputFormat"])) 
    { 
     $conversionSettings->Format = $_POST["outputFormat"]; 
    } else { 
     $conversionSettings->Format = "PDF"; 
    } 
    // Set fidelity 
    $conversionSettings->Fidelity = "Full"; 
    // These values must be set to empty strings or actual passwords when converting to non PDF formats 
    $conversionSettings->OpenPassword=""; 
    $conversionSettings->OwnerPassword=""; 
    // Set some of the other conversion settings. Completely optional and just an example 
    $conversionSettings->StartPage = 0; 
    $conversionSettings->EndPage = 0; 
    $conversionSettings->Range = "VisibleDocuments"; 
    $conversionSettings->Quality = "OptimizeForPrint"; 
    $conversionSettings->PDFProfile = "PDF_1_5"; 
    $conversionSettings->GenerateBookmarks = "Automatic"; 
    $conversionSettings->PageOrientation="Default"; 
    // Create the Convert parameter that is send to the server 
    $convert = new Convert($sourceFile, $openOptions, $conversionSettings); 
    // Create the service client and point it to the correct Conversion Service 
    $url = "http://localhost:41734/Muhimbi.DocumentConverter.WebService/?wsdl"; 
    $serviceClient = new DocumentConverterService(array(), $url); 

    // If you are expecting long running operations then consider longer timeouts 
    ini_set('default_socket_timeout', 60); 

    try 
    { 
     // Execute the web service call 
     $result = $serviceClient->Convert($convert)->ConvertResult; 
     // Send the resulting file to the client. 
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
     header("Content-type: application/octet-stream"); 
     header("Content-Disposition: attachment; filename=\"convert." . $conversionSettings->Format . "\""); 
     echo $result; 
    } 
    catch (Exception $e) 
    { 
     print "Error converting document: ".$e->getMessage(); 
    }  
} 
?> 

Кроме того, вы можете исследовать 'Snappy' (имеет зависимостей)

+0

https://tcpdf.org/ - в настоящее время не бесплатно, но скоро будет бесплатным (новая версия в разработке на github. Http://docraptor.com/ - также платная, но бесплатная испытание. –

 Смежные вопросы

  • Нет связанных вопросов^_^