Это не ответ, мне просто нужно иметь возможность отправить код.
Я не могу воспроизвести ваши результаты, но если бы я догадался, что-то естьсделать с вашим рендером PDF.Вы можете подтвердить это, увеличив масштаб текста, выглядит ли он одинаково при увеличении?Если это так, то ваш рендерер пытается применить визуальные подсказки к печатному документу.Если нет, можете ли вы опубликовать упрощенную версию своего кода, которая делает это?Это делает это для всех изображений или только для одного конкретного?Как вы создаете свой текст, с помощью абзацев, таблиц, разбора HTML или чего-то еще?Какую версию iTextSharp вы используете?
Ниже приведен полностью работающий WinForms C # 2010 с таргетингом на iTextSharp 5.1.2.0, который создает двухстраничный PDF.На первой странице есть только текст, а на второй странице - текст, за которым следует изображение, загруженное с рабочего стола.На моем компьютере с использованием Adobe Acrobat Pro 9.1.3 я не вижу разницы в шрифтах при просмотре на экране.
using System;
using System.IO;
using System.Windows.Forms;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
string pdfFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.pdf");
string imgFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.png");
using (FileStream fs = new FileStream(pdfFile, FileMode.Create, FileAccess.Write, FileShare.None)) {
using (Document doc = new Document(PageSize.LETTER)) {
using (PdfWriter writer = PdfWriter.GetInstance(doc, fs)) {
doc.Open();
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font f = new iTextSharp.text.Font(bf, 14);
doc.NewPage();
doc.Add(new Paragraph("This is a test", f));
doc.NewPage();
doc.Add(new Paragraph("This is a test", f));
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(imgFile);
img.ScaleAbsolute(100, 100);
doc.Add(img);
doc.Close();
}
}
}
this.Close();
}
}
}