$quexmlpdf->setSingleResponseAreaHeight($_POST['singleResponseAreaHeight']); $quexmlpdf->setSingleResponseHorizontalHeight($_POST['singleResponseHorizontalHeight']); $quexmlpdf->setQuestionnaireInfoMargin($_POST['questionnaireInfoMargin']); $quexmlpdf->setResponseLabelFontSize(array($_POST['responseLabelFontSize'], $_POST['responseLabelFontSizeSmall'])); } $quexmlpdf->create($quexmlpdf->createqueXML(file_get_contents($filename))); //NEED TO GET QID from $quexmlpdf $qid = intval($quexmlpdf->getQuestionnaireId()); $zip = new ZipArchive(); $filename = tempnam("/tmp", "queXMLPDF") . ".zip"; if ($zip->open($filename, ZIPARCHIVE::CREATE) !== TRUE) { exit("cannot open temporary file\n"); } $zip->addFromString("quexf_banding_{$qid}.xml", $quexmlpdf->getLayout()); $zip->addFromString("quexmlpdf_style_{$qid}.xml", $quexmlpdf->exportStyleXML()); $zip->addFromString("quexmlpdf_{$qid}.pdf", $quexmlpdf->Output("quexml_{$qid}.pdf", 'S')); $zip->close(); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="quexmlpdf_' . $qid . '.zip"'); header('Content-Transfer-Encoding: binary'); // load the file to send: readfile($filename); unlink($filename); } else { print_header("queXML Tools: Create PDF with banding XML for queXF from queXML"); $quexmlpdf = new queXMLPDF(PDF_PAGE_ORIENTATION, 'mm', PDF_PAGE_FORMAT, true, 'UTF-8', false); ?> <h1>queXML to PDF and banding XML for queXF</h1> <p>If the file is valid queXML: a ZIP file containing a PDF and an XML file for banding using <a href='http://quexf.sourceforge.net'>queXF</a> will be returned</p> <br> <form enctype="multipart/form-data" action="?" method="post">
// Setting the selected language for printout $clang = new limesurvey_lang($surveyprintlang); $quexmlpdf = new queXMLPDF(PDF_PAGE_ORIENTATION, 'mm', PDF_PAGE_FORMAT, true, 'UTF-8', false); set_time_limit(120); $noheader = true; include_once "export_structure_quexml.php"; $quexmlpdf->create($quexmlpdf->createqueXML($quexml)); //NEED TO GET QID from $quexmlpdf $qid = intval($quexmlpdf->getQuestionnaireId()); $zipdir = tempdir($tempdir); $f1 = "{$zipdir}/quexf_banding_{$qid}_{$surveyprintlang}.xml"; $f2 = "{$zipdir}/quexmlpdf_{$qid}_{$surveyprintlang}.pdf"; $f3 = "{$zipdir}/quexml_{$qid}_{$surveyprintlang}.xml"; $f4 = "{$zipdir}/readme.txt"; file_put_contents($f1, $quexmlpdf->getLayout()); file_put_contents($f2, $quexmlpdf->Output("quexml_{$qid}.pdf", 'S')); file_put_contents($f3, $quexml); file_put_contents($f4, $clang->gT('This archive contains a PDF file of the survey, the queXML file of the survey and a queXF banding XML file which can be used with queXF: http://quexf.sourceforge.net/ for processing scanned surveys.')); require_once "classes/phpzip/phpzip.inc.php"; $z = new PHPZip(); $zipfile = "{$tempdir}/quexmlpdf_{$qid}_{$surveyprintlang}.zip"; $z->Zip($zipdir, $zipfile); unlink($f1); unlink($f2); unlink($f3); unlink($f4); rmdir($zipdir); header('Content-Type: application/zip'); header('Content-Transfer-Encoding: binary'); header('Content-Disposition: attachment; filename="quexmlpdf_' . $qid . '_' . $surveyprintlang . '.zip"'); $len = filesize($zipfile);