Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php FPDF-无法在不导致换行的情况下显示带下划线的变量_Php_Newline_Fpdf_Line Breaks_Underline - Fatal编程技术网

Php FPDF-无法在不导致换行的情况下显示带下划线的变量

Php FPDF-无法在不导致换行的情况下显示带下划线的变量,php,newline,fpdf,line-breaks,underline,Php,Newline,Fpdf,Line Breaks,Underline,我正在使用在中找到的FPDF WriteHTML()扩展名。定心效果很好。但是,当我包含下划线标记时,PDF会显示与开始标记和结束标记重合的换行符。 我打字的时候 $this->WriteHTML("<p align='center'>IN THE CIRCUIT COURT OF THE <u>$CircuitCourtNumber</u> JUDICIAL CIRCUIT, IN AND FOR ______________________

我正在使用在中找到的FPDF WriteHTML()扩展名。定心效果很好。但是,当我包含下划线标记时,PDF会显示与开始标记和结束标记重合的换行符。 我打字的时候

$this->WriteHTML("<p align='center'>IN THE CIRCUIT COURT OF THE <u>$CircuitCourtNumber</u> JUDICIAL CIRCUIT, IN AND FOR _______________________ COUNTY FLORIDA,</p>");

效果是一样的。在开始标记和结束标记所在的位置仍呈现新行

我已尝试使用在找到的WriteHTML()扩展名。它几乎可以工作,但它左对齐文本,我正在制作的表单应该居中对齐文本。我想这是因为扩展中使用了Write()


有没有一种方法可以在句子的中线上加上下划线,而不需要一条新的线?只有当一行到达右边距时,新行才会出现。我已经玩了几天了,但都没有用。

用户编写的脚本,包括您尝试使用的
WriteHTML
脚本,无法正确处理字符串中标记内的标记(如您所发现的)。正确地解析和处理带有标记的字符串是非常困难的

最简单的解决方案是简单地输出字符串的“片段”,并切换到使用字体的下划线属性来表示需要的部分,然后返回到常规字体样式

下面显示的内容满足了您的要求。请注意,我必须使用较小的字体大小,以使整个字符串适合一行。我把你的巡回法庭号码作为一个单独的变量,因为它是在为使用的字体打开下划线样式后单独输出的

$CircuitCourtNumber = '1234567890';
$theString = 'IN THE CIRCUIT COURT OF THE ' . $CircuitCourtNumber . ' JUDICIAL CIRCUIT, IN AND FOR _______________________ COUNTY FLORIDA,';

require('fpdf.php');
$pdf = new fpdf('P','mm','Letter');
$pdf->AddPage();
$pdf->SetFont('Arial','',9);
$totalWidth = $pdf->GetStringWidth($theString);
$pdf->SetX(($pdf->GetPageWidth() - $totalWidth)/2);
$pdf->Write(5,'IN THE CIRCUIT COURT OF THE ');
$pdf->SetFont('','U');
$pdf->Write(5,$CircuitCourtNumber);
$pdf->SetFont('','');
$pdf->Write(5,' JUDICIAL CIRCUIT, IN AND FOR _______________________ COUNTY FLORIDA,');
$pdf->Ln();
$pdf->SetY($pdf->GetY() + 10);
$pdf->Cell(0,5,'The next line of your PDF goes here');
$pdf->Output();

在script41函数WriteHTML中,存在将文本对齐设置为中心的条件。可能尝试复制此条件并将其放在script42中的同一位置。我尝试将此条件从41粘贴到42,但它将标记视为出于某种原因创建新行的原因。但我不确定为什么。如果答案解决了你的问题,请考虑接受答案。然后返回此处,对勾号/复选标记执行相同操作,直到其变为绿色。这将通知社区,找到了解决方案。否则,其他人可能会认为问题仍然悬而未决,并可能希望发布(更多)答案。您将获得积分,并鼓励其他人帮助您。欢迎来到Stack!
$this->MultiCell(0,5,$e,0,'C');
$CircuitCourtNumber = '1234567890';
$theString = 'IN THE CIRCUIT COURT OF THE ' . $CircuitCourtNumber . ' JUDICIAL CIRCUIT, IN AND FOR _______________________ COUNTY FLORIDA,';

require('fpdf.php');
$pdf = new fpdf('P','mm','Letter');
$pdf->AddPage();
$pdf->SetFont('Arial','',9);
$totalWidth = $pdf->GetStringWidth($theString);
$pdf->SetX(($pdf->GetPageWidth() - $totalWidth)/2);
$pdf->Write(5,'IN THE CIRCUIT COURT OF THE ');
$pdf->SetFont('','U');
$pdf->Write(5,$CircuitCourtNumber);
$pdf->SetFont('','');
$pdf->Write(5,' JUDICIAL CIRCUIT, IN AND FOR _______________________ COUNTY FLORIDA,');
$pdf->Ln();
$pdf->SetY($pdf->GetY() + 10);
$pdf->Cell(0,5,'The next line of your PDF goes here');
$pdf->Output();