我注意到 iText 7(有时)会在两段文本之间自动插入一个空格,如果第一段是斜体的话(即“likethis”->“likethis”)。下面的例子说明了我的问题:
import java.io.File;
import java.io.FileNotFoundException;
import com.itextpdf.kernel.geom.PageSize;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Text;
public class PdfItalic {
public static void main(String[] args) throws FileNotFoundException {
PdfDocument document = new PdfDocument(new PdfWriter(new File("italic.pdf")));
Document doc = new Document(document, PageSize.A4);
Paragraph p = new Paragraph();
p.add(new Text("abc").setItalic());
p.add(new Text("def"));
doc.add(p);
doc.close();
}
}
在 PDF 查看器中打开时如下所示(不,这不是字距调整问题;当我在 PDF 查看器中复制文本时,它也会复制那个幻影空间):
我想不惜一切代价避免这种行为。如何防止 iText 7 插入那些错位的空格?