Export the Dari and Arabic Version of a Questionnaire as queXML-PDf

More
2 years 2 weeks ago #173368 by LindaW
Hi. I am using the Limesurvey version 3.14.5+180815

We have a questionnaire with five languages:
- German (default)
- Turkish
- Polish
- Arabic
- Dari

Unfortunately, it is not possible to export the Arabic and the Dari versions of the questionnaire as queXML. I receive the following failure notices:

Arabic:

/var/www/html/limesurvey/application/third_party/tcpdf/tcpdf.php(6184)

6172 $sum = 0;
6173 } elseif ($lastSeparator != -1) {
6174 $i = $lastSeparator;
6175 $lastSeparator = -1;
6176 $sum = 0;
6177 } else {
6178 $sum = $charWidth;
6179 }
6180 } else {
6181 $sum += $charWidth;
6182 }
6183 }
6184 if ($chars[($length - 1)] == 10) {
6185 --$lines;
6186 }
6187 $this->cell_padding = $prev_cell_padding;
6188 $this->lasth = $prev_lasth;
6189 return $lines;
6190 }
6191
6192 /**
6193 * This method return the estimated height needed for printing a simple text string using the Multicell() method.
6194 * Generally, if you want to know the exact height for a block of content you can use the following alternative technique:
6195 * @pre
6196 * // store current object
Stack Trace
#0
– /var/www/html/limesurvey/application/third_party/tcpdf/tcpdf.php(6247): TCPDF->getNumLines(false, 13, true, true, ...)
6242 $prev_lasth = $this->lasth;
6243 if (is_array($cellpadding)) {
6244 $this->cell_padding = $cellpadding;
6245 }
6246 $this->adjustCellPadding($border);
6247 $lines = $this->getNumLines($txt, $w, $reseth, $autopadding, $cellpadding, $border);
6248 $height = $this->getCellHeight(($lines * $this->FontSize), $autopadding);
6249 $this->cell_padding = $prev_cell_padding;
6250 $this->lasth = $prev_lasth;
6251 return $height;
6252 }
#1
– /var/www/html/limesurvey/application/third_party/tcpdf/tcpdf.php(5840): TCPDF->getStringHeight(13, false, true, true, ...)
5835 $h = $maxh = max(min($h, $tobottom), min($maxh, $tobottom));
5836 }
5837 // vertical alignment
5838 if ($maxh > 0) {
5839 // get text height
5840 $text_height = $this->getStringHeight($w, $txt, $reseth, $autopadding, $mc_padding, $border);
5841 if ($fitcell AND ($text_height > $maxh) AND ($this->FontSizePt > 1)) {
5842 // try to reduce font size to fit text on cell (use a quick search algorithm)
5843 $fmin = 1;
5844 $fmax = $this->FontSizePt;
5845 $diff_epsilon = (1 / $this->k); // one point (min resolution)
#2
– /var/www/html/limesurvey/application/libraries/admin/quexmlpdf.php(3212): TCPDF->MultiCell(13, 10, false, 0, ...)
3207 // Going to break the line because of long word
3208 if ($this->wordLength($r) > $this->responseLabelSmallWordLength) {
3209 $this->setDefaultFont($this->responseLabelFontSizeSmall);
3210 }
3211
3212 $this->MultiCell($rwidth, $this->responseLabelHeight, $r, 0, 'C', false, 0, $x, $y, true, 0, false, true, $this->responseLabelHeight, 'B', true);
3213
3214 //reset font
3215 if ($this->wordLength($r) > $this->responseLabelSmallWordLength) {
3216 $this->setDefaultFont($this->responseLabelFontSize);
3217 }
#3
+ /var/www/html/limesurvey/application/libraries/admin/quexmlpdf.php(3254): quexmlpdf->drawSingleChoiceHorizontalHead(array(array("text" => "trifft gar nicht zu", "value" => "A1"), array("text" => "trifft wenig zu", "value" => "A2"), array("text" => "trifft größtenteils zu", "value" => "A3"), array("text" => false, "value" => "A4")), false)
#4
+ /var/www/html/limesurvey/application/libraries/admin/quexmlpdf.php(2484): quexmlpdf->drawSingleChoiceHorizontal()
#5
+ /var/www/html/limesurvey/application/libraries/admin/quexmlpdf.php(2203): quexmlpdf->createQuestion()
#6
+ /var/www/html/limesurvey/application/controllers/admin/export.php(1167): quexmlpdf->create()
#7
unknown(0): export->quexml(297447)
#8
+ /var/www/html/limesurvey/framework/web/actions/CAction.php(109): ReflectionMethod->invokeArgs(export, array("297447"))
#9
+ /var/www/html/limesurvey/application/core/Survey_Common_Action.php(83): CAction->runWithParamsInternal(export, ReflectionMethod, array("surveyid" => "297447", "sa" => "quexml", "iSurveyId" => "297447", "iSurveyID" => "297447", ...))
#10
+ /var/www/html/limesurvey/framework/web/CController.php(308): Survey_Common_Action->runWithParams(array("surveyid" => "297447", "sa" => "quexml", "iSurveyId" => "297447", "iSurveyID" => "297447", ...))
#11
+ /var/www/html/limesurvey/framework/web/CController.php(286): CController->runAction(export)
#12
+ /var/www/html/limesurvey/framework/web/CController.php(265): CController->runActionWithFilters(export, array())
#13
+ /var/www/html/limesurvey/application/controllers/AdminController.php(158): CController->run("export")
#14
+ /var/www/html/limesurvey/framework/web/CWebApplication.php(282): AdminController->run("export")
#15
+ /var/www/html/limesurvey/framework/web/CWebApplication.php(141): CWebApplication->runController("admin/export/sa/quexml")
#16
+ /var/www/html/limesurvey/framework/base/CApplication.php(185): CWebApplication->processRequest()
#17
+ /var/www/html/limesurvey/index.php(194): CApplication->run()

DARI:

/var/www/html/limesurvey/application/third_party/tcpdf/tcpdf.php(6184)

6172 $sum = 0;
6173 } elseif ($lastSeparator != -1) {
6174 $i = $lastSeparator;
6175 $lastSeparator = -1;
6176 $sum = 0;
6177 } else {
6178 $sum = $charWidth;
6179 }
6180 } else {
6181 $sum += $charWidth;
6182 }
6183 }
6184 if ($chars[($length - 1)] == 10) {
6185 --$lines;
6186 }
6187 $this->cell_padding = $prev_cell_padding;
6188 $this->lasth = $prev_lasth;
6189 return $lines;
6190 }
6191
6192 /**
6193 * This method return the estimated height needed for printing a simple text string using the Multicell() method.
6194 * Generally, if you want to know the exact height for a block of content you can use the following alternative technique:
6195 * @pre
6196 * // store current object
Stack Trace
#0
– /var/www/html/limesurvey/application/third_party/tcpdf/tcpdf.php(6247): TCPDF->getNumLines(false, 13, true, true, ...)
6242 $prev_lasth = $this->lasth;
6243 if (is_array($cellpadding)) {
6244 $this->cell_padding = $cellpadding;
6245 }
6246 $this->adjustCellPadding($border);
6247 $lines = $this->getNumLines($txt, $w, $reseth, $autopadding, $cellpadding, $border);
6248 $height = $this->getCellHeight(($lines * $this->FontSize), $autopadding);
6249 $this->cell_padding = $prev_cell_padding;
6250 $this->lasth = $prev_lasth;
6251 return $height;
6252 }
#1
– /var/www/html/limesurvey/application/third_party/tcpdf/tcpdf.php(5840): TCPDF->getStringHeight(13, false, true, true, ...)
5835 $h = $maxh = max(min($h, $tobottom), min($maxh, $tobottom));
5836 }
5837 // vertical alignment
5838 if ($maxh > 0) {
5839 // get text height
5840 $text_height = $this->getStringHeight($w, $txt, $reseth, $autopadding, $mc_padding, $border);
5841 if ($fitcell AND ($text_height > $maxh) AND ($this->FontSizePt > 1)) {
5842 // try to reduce font size to fit text on cell (use a quick search algorithm)
5843 $fmin = 1;
5844 $fmax = $this->FontSizePt;
5845 $diff_epsilon = (1 / $this->k); // one point (min resolution)
#2
– /var/www/html/limesurvey/application/libraries/admin/quexmlpdf.php(3212): TCPDF->MultiCell(13, 10, false, 0, ...)
3207 // Going to break the line because of long word
3208 if ($this->wordLength($r) > $this->responseLabelSmallWordLength) {
3209 $this->setDefaultFont($this->responseLabelFontSizeSmall);
3210 }
3211
3212 $this->MultiCell($rwidth, $this->responseLabelHeight, $r, 0, 'C', false, 0, $x, $y, true, 0, false, true, $this->responseLabelHeight, 'B', true);
3213
3214 //reset font
3215 if ($this->wordLength($r) > $this->responseLabelSmallWordLength) {
3216 $this->setDefaultFont($this->responseLabelFontSize);
3217 }
#3
+ /var/www/html/limesurvey/application/libraries/admin/quexmlpdf.php(3254): quexmlpdf->drawSingleChoiceHorizontalHead(array(array("text" => "صدق نمیکند", "value" => "A1"), array("text" => "کم صدق میکند", "value" => "A2"), array("text" => "اکثرا صدق میکند", "value" => "A3"), array("text" => false, "value" => "A4")), false)
#4
+ /var/www/html/limesurvey/application/libraries/admin/quexmlpdf.php(2484): quexmlpdf->drawSingleChoiceHorizontal(array(array("text" => "صدق نمیکند", "value" => "A1"), array("text" => "کم صدق میکند", "value" => "A2"), array("text" => "اکثرا صدق میکند", "value" => "A3"), array("text" => false, "value" => "A4")), array(array("text" => "الف : امکان کافی برای عقب نشینی وجود...", "varname" => SimpleXMLElement), array("text" => ": دیوار خانه من پوپنک (شمیل) دارد.", "varname" => SimpleXMLElement), array("text" => "در صورت لزوم خانه امرا میتوان گرمتر...", "varname" => SimpleXMLElement), array("text" => "درخانه من تجهیزات اساسی موجود است، ...", "varname" => SimpleXMLElement), ...), "چقدر اظهارات زیر به شما و محیط خانه ...", false, ...)
#5
+ /var/www/html/limesurvey/application/libraries/admin/quexmlpdf.php(2203): quexmlpdf->createQuestion(array("split" => "notset", "title" => "E5.", "text" => "چقدر اظهارات زیر به شما و محیط خانه ...", "responses" => array(array("subquestions" => array(array("text" => "الف : امکان کافی برای عقب نشینی وجود...", "varname" => SimpleXMLElement), array("text" => ": دیوار خانه من پوپنک (شمیل) دارد.", "varname" => SimpleXMLElement), array("text" => "در صورت لزوم خانه امرا میتوان گرمتر...", "varname" => SimpleXMLElement), array("text" => "درخانه من تجهیزات اساسی موجود است، ...", "varname" => SimpleXMLElement), ...), "varname" => SimpleXMLElement, "response" => array("split" => "notset", "type" => "fixed", "width" => 4, "categories" => array(array("text" => "صدق نمیکند", "value" => "A1"), array("text" => "کم صدق میکند", "value" => "A2"), array("text" => "اکثرا صدق میکند", "value" => "A3"), array("text" => false, "value" => "A4")))))))
#6
+ /var/www/html/limesurvey/application/controllers/admin/export.php(1167): quexmlpdf->create()
#7
unknown(0): export->quexml(297447)
#8
+ /var/www/html/limesurvey/framework/web/actions/CAction.php(109): ReflectionMethod->invokeArgs(export, array("297447"))
#9
+ /var/www/html/limesurvey/application/core/Survey_Common_Action.php(83): CAction->runWithParamsInternal(export, ReflectionMethod, array("surveyid" => "297447", "sa" => "quexml", "iSurveyId" => "297447", "iSurveyID" => "297447", ...))
#10
+ /var/www/html/limesurvey/framework/web/CController.php(308): Survey_Common_Action->runWithParams(array("surveyid" => "297447", "sa" => "quexml", "iSurveyId" => "297447", "iSurveyID" => "297447", ...))
#11
+ /var/www/html/limesurvey/framework/web/CController.php(286): CController->runAction(export)
#12
+ /var/www/html/limesurvey/framework/web/CController.php(265): CController->runActionWithFilters(export, array())
#13
+ /var/www/html/limesurvey/application/controllers/AdminController.php(158): CController->run("export")
#14
+ /var/www/html/limesurvey/framework/web/CWebApplication.php(282): AdminController->run("export")
#15
+ /var/www/html/limesurvey/framework/web/CWebApplication.php(141): CWebApplication->runController("admin/export/sa/quexml")
#16
+ /var/www/html/limesurvey/framework/base/CApplication.php(185): CWebApplication->processRequest()
#17
+ /var/www/html/limesurvey/index.php(194): CApplication->run()


What can I do?

Thank you in advance,

Linda
The topic has been locked.
LimeSurvey Partners
More
2 years 2 weeks ago - 2 years 2 weeks ago #173370 by Joffm
Now this same post is here for the fourth time (the first three 6 days ago).
It is absolutely not necessary to open a new post with the identical wording.

Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 2 years 2 weeks ago by Joffm.
The topic has been locked.
More
2 years 2 weeks ago #173381 by LindaW
My apologies for the inconvenience! The message was marked as spam and couldn't be published. I had to contact the organizers of the forum, I wasn't informed, that they unlocked the old messages and forgot to check for that. I am sorry! Do you have a solution for that problem by any chance?

Thank you in advance,

Linda
The topic has been locked.

Start now!

Just create your account and start using Limesurvey today.

Register now