Я использую ColdFusion 11 и Java (com.lowagie.text.pdf.PdfStamper
) для заполнения в формате PDF, но когда я ввожу значение с одним апостроф, таких как 32'
он сохраняет только в формате PDF, как 32
вместо 32'
. Значение входит в многострочную текстовую область в PDF. Я пробовал с включенным и без богатого текста.Missing апостроф при использовании PdfStamper
Я попытался заменить '
с ';
, ''
, '
и \u0027;
, но все они исчезают. Я также пробовал xmlFormat
, но он отображается как '
.
Копирование и вставка ’
из MS Word не работает ни в качестве замены.
Вот код, я использую
this.pdfFile = this.pdfService.read(source=infile);
this.pdfReader = createObject("java","com.lowagie.text.pdf.PdfReader").init(tobinary(this.pdffile));
this.pdfWriter = createObject("java", "java.io.FileOutputStream").init(CreateObject("java", "java.io.File").init(this.outfile));
this.pdfStamper = createObject("java", "com.lowagie.text.pdf.PdfStamper").init(this.pdfReader, this.PdfWriter);
this.acroForm = this.pdfStamper.getAcroFields();
//this.misc.text = replace(this.misc.text, "'", "&##39;", "all");
//this.misc.text = replace(this.misc.text, "'", "\u0027;", "all");
//this.misc.text = replace(this.misc.text, "'", "’", "all");
//this.misc.text = replace(this.misc.text, "'", "'", "all");
//this.misc.text = PreserveSingleQuotes(this.misc.text);
this.acroForm.setField("text", this.misc.text);
Можете ли вы сделать ручную 'convertToString (this.misc.text, PdfObject.TEXT_PDFDOCENCODING)' и проверить, исчезла ли цитата в этот момент? – usr2564301
@Jongware Я пробовал следующее, но это не сработало. this.misc.text = this.PdfEncodings.convertToBytes (this.misc.text, this.PdfObject.TEXT_PDFDOCENCODING); this.misc.text = this.PdfEncodings.convertToString (this.misc.text, this.PdfObject.TEXT_PDFDOCENCODING); – Aaron
convertToString ожидает байта [], а не строку. – Aaron