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

More
2 months 1 week ago #173368 by LindaW
LindaW created the topic: Export the Dari and Arabic Version of a Questionnaire as queXML-PDf
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

Please Log in or Create an account to join the conversation.

More
2 months 1 week ago - 2 months 1 week ago #173370 by Joffm
Joffm replied the topic: Export the Dari and Arabic Version of a Questionnaire as queXML-PDf
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 months 1 week ago by Joffm.

Please Log in or Create an account to join the conversation.

More
2 months 1 week ago #173381 by LindaW
LindaW replied the topic: Export the Dari and Arabic Version of a Questionnaire as queXML-PDf
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

Please Log in or Create an account to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!