You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Itext5生成含波斯语内容的PDF时段落间存在过大空白的问题求助

Itext5生成含波斯语内容的PDF时段落间存在过大空白的问题求助

你好!我看了你的代码和问题描述,段落间的过大空白大概率是由几个小细节问题导致的,咱们一步步来调整解决:

  • 移除第一个单元格的底部内边距:你给承载第一个段落的cell设置了cell.setPaddingBottom(20);,这会直接在第一个段落下方添加20单位的空白,删掉这行代码就能立刻减少一部分不必要的间距。

  • 清理第二个段落末尾的多余换行符:你的p1文本最后有一串"\n\n\n ",这些连续的换行符会被iText解析成额外的空白行,把这些多余的换行删掉就能避免这部分空白。

  • 修正段落行高的设置:你给cell2设置了cell2.setLeading(20f, 0f);,第二个参数是行高的比例乘数,设为0会导致行间距逻辑异常。建议改成cell2.setLeading(0f, 1.5f);,这样行间距会是字体大小的1.5倍,既保证波斯语文本的可读性,又不会产生突兀的大空白。

  • 可选:调整表格的默认间距:如果上面的调整后还有细微的间距问题,可以给表格添加这两行代码,确保表格本身不会额外增加间距:

    table.setSpacingBefore(0);
    table.setSpacingAfter(0);
    

下面是修改后的核心代码片段,你可以参考替换:

// ... 其他代码保持不变 ...

Paragraph p = new Paragraph();
// ... p的字体设置不变 ...
p.add("سعید بیات پریدری ");
p.add(Html.fromHtml("<b> محسن بیات </b> ", 0).toString());
p.add("حسین بیات پریدری");

Paragraph p1 = new Paragraph();
p1.setFont(paraFont1);
// 移除末尾的多余换行符
p1.add("صورتجلسه مجمع عمومی عادی بطور فوق العاده برای انتخاب مدیران و بازرسین ،روزنامه و تصویب تراز در شرکتهای سهامی خاص\n" +
"نام شرکت : …………...............………………\n" +
"شماره ثبت شرکت : …………………………                                  \n" +
"سرمایه ثبت شده : …………………………\n" +
"شناسه ملی : ......................................\n" +
"صورتجلسه مجمع عمومی عادی بطور فوق العاه شرکت ………… سهامی خاص ثبت شده به شماره …....…… در تاریخ …………… ساعت……… با حضور کلیه / اکثریت سهامداران در محل قانونی شرکت (اگر جلسه در محل دیگری غیر از محل قانونی شرکت تشکیل شده آدرس آن محل نوشته شود) تشکیل گردید. \n" +
"الف: در اجرای ماده 101 لایحه اصلاحی قانون تجارت: \n" +
"1ـ خانم/ آقای ………………………… به سمت رئیس جلسه \n" +
"2ـ خانم/ آقای ………………………… به سمت ناظر جلسه \n" +
"3ـ خانم/ آقای ………………………… به سمت ناظر جلسه \n" +
"4ـ خانم/ آقای………………………… به سمت منشی جلسه انتخاب شدند. \n" +
"ب: در خصوص دستور جلسه، 1ـ انتخاب مدیران 2ـ انتخاب بازرسین 3ـ انتخاب روزنامه کثیرالانتشار 4ـ تصویب ترازنامه حساب سود و زیان به شرح ذیل اتخاذ تصمیم شد. \n" +
"ب : 1ـ اعضای هیات مدیره عبارتند از خانم/آقای ………. به شماره ملی …………………… خانم/آقای …….. به شماره ملی …………………… خانم/آقای ……….. به شماره ملی ……………………  برای مدت دو سال انتخاب و با امضاء ذیل صورتجلسه قبولی خود را اعلام می دارند. مجمع تصویب نمود در اجرای ماده 124 لایحه اصلاحی قانون تجارت میتواند رئیس هیئت مدیره و مدیر عامل یک نفر باشد.\n" +
"ب ـ 2ـ با رعایت ماده 147 لایحه اصلاحی قانون تجارت خانم / آقای ………..  به شماره ملی ……………… به سمت بازرس اصلی خانم / آقای …………. به شماره ملی …………………  به سمت بازرس علی البدل برای مدت یک سال مالی انتخاب شدند. \n" +
"ب ـ 3ـ روزنامه کثیرالانتشار ………………………… جهت نشر آگهی های شرکت انتخاب شد.\n" +
"ب ـ4ـ پس از قرائت گزارش بازرس قانونی ترازنامه و حساب سود و زیان شرکت منتهی به سال...................... مورد تصویب قرار گرفت. \n" +
"ج: اینجانبان اعضاء هیات مدیره و بازرسین ضمن قبولی سمت خود اقرار می نمائیم که هیچگونه سوء پیشینه کیفری نداشته و ممنوعیت اصل 141 قانون اساسی و مواد 111 و147 لایحه اصلاحی قانون تجارت را نداریم .\n" +
"د: به خانم / آقای ………………………… احدی از سهامداران یا احدی از مدیران یا وکیل رسمی شرکت وکالت داده می شود که ضمن مراجعه به اداره ثبت شرکت ها نسبت به ثبت صورتجلسه و پرداخت حق الثبت و امضاء ذیل دفاتر ثبت اقدام نماید.\n" +
"امضاء هیات رئیسه:  رئیس جلسه ……...........…    ناظر جلسه ………………     ناظرجلسه………………\n" +
"منشی جلسه ........................\n" +
"امضا اعضای هیئت مدیره : \n" +
"1 ـ ……………………   2 ـ ……………………   3ـ ……………………    4 ـ  ……………………\n" +
"امضاء بازرسین: \t \t             بازرس اصلی\t                    بازرس علی البدل:");

PdfPTable table = new PdfPTable(1);
// 可选:添加表格间距设置
table.setSpacingBefore(0);
table.setSpacingAfter(0);

PdfPCell cell = new PdfPCell(p);
PdfPCell cell2 = new PdfPCell(p1);

cell.setBorder(0);
cell2.setBorder(0);

cell2.setHorizontalAlignment(Element.ALIGN_JUSTIFIED);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
cell2.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);

// 移除这行导致底部空白的代码
// cell.setPaddingBottom(20);

// 修正行高设置
cell2.setLeading(0f, 1.5f);

table.addCell(cell);
table.addCell(cell2);

doc.add(table);

// ... 其他代码保持不变 ...

备注:内容来源于stack exchange,提问作者saeedbayat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:54:29