Example #1
0
<?php

/**
 * Example use of the queXMLPDF class
 * Create a PDF and queXF banding XML file from the test_questionnaire file
 * and output it in a ZIP archive
 *
 * Currently available for use online at:
 * https://surveys.acspri.org.au/quexmltools/
 *
 */
require_once 'quexmlpdf.php';
// create new queXMLPDF document
$quexmlpdf = new queXMLPDF(PDF_PAGE_ORIENTATION, 'mm', PDF_PAGE_FORMAT, true, 'UTF-8', false);
set_time_limit(120);
$quexmlpdf->create($quexmlpdf->createqueXML(file_get_contents("test_questionnaire.xml")));
//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_{$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);
Example #2
0
    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">
			<input type="hidden" name="MAX_FILE_SIZE" value="1000000000" />
			<label for="userfile">Choose a queXML file to upload: </label><input name="userfile" type="file" /><br/>
			<label for="stylefile">(Optional otherwise set below) Choose a queXML style settings file to upload: </label><input name="stylefile" type="file" /><br/>
			<div><label for="style">Style:</label><textarea name="style" id="style" cols="120" rows="14"><?php 
    echo $quexmlpdf->getStyle();
    ?>
</textarea></div>
			<div><label for="responseTextFontSize">Response text / sub question font size</label><input name="responseTextFontSize" type="text" value="<?php 
    echo $quexmlpdf->getResponseTextFontSize();
    ?>
Example #3
0
    return $path;
}
global $tempdir;
$surveyid = $_GET['sid'];
// Set the language of the survey, either from GET parameter of session var
if (isset($_GET['lang'])) {
    $_GET['lang'] = preg_replace("/[^a-zA-Z0-9-]/", "", $_GET['lang']);
    if ($_GET['lang']) {
        $surveyprintlang = $_GET['lang'];
    }
} else {
    $surveyprintlang = GetbaseLanguageFromSurveyid($surveyid);
}
// 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.'));