Как добавить изображение в pdf, используя C # и iTextSharp?

2

Мне нужна ваша помощь, добавив изображение в PDF.

Я использую:

string imgPath2 = localPath + "\\TempChartImages\\" + LegendPath;
img2.Save(imgPath2);
ith.WriteImage(imgPath2, 80);

Но этот код дает мне ошибку:

Использование неназначенной локальной переменной img2

Как я могу решить эту ошибку?

  • 0
    Я не уверен, что делает ваш код (поскольку он не очень понятен), но вы пытаетесь добавить изображение в PDF? Если это так, используйте iTextSharp.
  • 0
    Можете ли вы опубликовать код, который определяет img2? Вам понадобится библиотека для вставки в PDF, так как в .NET Framework ничего не добавлено для манипулирования PDF-файлами.
Теги:
pdf
itextsharp

6 ответов

2

это догадка, но если вы назначаете значение img2 внутри блока Try-Catch, вы можете получить исключение, которое предотвращает выполнение задания. Например:

var img2;
try
{
    var x = 5 / 0; // Generate a DivideByZero exception
    img2 = GetImage(); // <-- the above exception will prevent this code from executing
}
catch
{
}
img2.Save(imgPath2); <-- img2 wasn't assigned, so another exception will occur
2

Когда вы объявляете переменную, в вашем случае img2, не присваивая значение, оно указывает на абсолютно ничего. Убедитесь, что вы инициализировали img2, прежде чем использовать его.

Я думаю, что вы хотите, чтобы ваша строка img2.Save была изменена на:

Image img2 = Image.FromFile(yourInitialImageHere);  // You could be reading from memory as well.
img2.Save(imgPath2);

Я мог бы быть далеко, хотя ваш фрагмент кода довольно расплывчатый.

2

Вот учебник iTextSharp на изображения. Не видя больше своего кода, трудно судить, какой фрагмент кода вам понадобится.

1

Вам нужно создать образ изображения.

iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance("path of the image");
1

Я считаю, что вы должны сначала создать изображение.

Image img2 = new Image();

он решил мои проблемы. Надеюсь, он поможет вам.

1

Для этого вам понадобится сторонний инструмент.

  • 0
    Да, я использовал ItextSharp ....
  • 0
    Стоит отредактировать ваш вопрос, чтобы включить эту информацию - возможно, даже в заголовок вопроса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню