2013-06-17 2 views
2

Следующий код создает растровое изображение из элемента управления формы, а затем отображает диалоговое окно сохранения для сохранения в виде JPEG. Может ли кто-нибудь помочь с кодом сохранить битмап bm в формате PDF с помощью iTextSharp?C# Сохранить растровое изображение в формате PDF с помощью iTextSharp

Bitmap bm = null; 
bm = new Bitmap(this.RCofactorTBS.SelectedTab.Width, this.RCofactorTBS.SelectedTab.Height); 
this.RCofactorTBS.SelectedTab.DrawToBitmap(bm, this.RCofactorTBS.SelectedTab.ClientRectangle); 

SaveFileDialog dialog = new SaveFileDialog(); 
dialog.Filter = "JPEG|*.jpeg"; 
dialog.Title = "Save Test As Jpeg"; 
dialog.ShowDialog(); 

if (dialog.FileName != "" && bm != null) 
{ 
    bm.Save(dialog.FileName); 
} 

ответ

7

Вы можете попробовать это

System.Drawing.Image image = System.Drawing.Image.FromFile("Your image file path"); 
      Document doc = new Document(PageSize.A4); 
      PdfWriter.GetInstance(doc, new FileStream("image.pdf", FileMode.Create)); 
      doc.Open(); 
      iTextSharp.text.Image pdfImage = iTextSharp.text.Image.GetInstance(image, System.Drawing.Imaging.ImageFormat.Jpeg); 
      doc.Add(pdfImage); 
      doc.Close(); 

Реферировано из here

+0

идея не сохранить изображение в файл первым. Я хочу сохранить объект «bm» в pdf без сохранения в файл сначала – Glen

+0

Вы можете напрямую передать растровое изображение на изображение. –

+0

ваше использование PdfWriter там, im используя iTextSharp? – Glen

0
public void exportarPDF(Bitmap img){   
    // System.Drawing.Image image = System.Drawing.Image.FromFile("C://snippetsource.jpg"); Aca graba con un archivo fisico 
    System.Drawing.Image image = img; //Here I passed a bitmap 
    Document doc = new Document(PageSize.A4); 
    PdfWriter.GetInstance(doc, new FileStream("C://image.pdf", FileMode.Create)); 
    doc.Open(); 
    iTextSharp.text.Image pdfImage = iTextSharp.text.Image.GetInstance(image, 
      System.Drawing.Imaging.ImageFormat.Jpeg); 
    doc.Add(pdfImage); 
    doc.Close(); 
} 
+2

Не могли бы вы пожалуйста, отредактируйте объяснение (на английском языке, комментарии для испанцев здесь будут трудными для большинства пользователей), почему этот код отвечает на вопрос? Кодовые ответы [обескуражены] (http://meta.stackexchange.com/q/148272/274165), потому что они не учат решению. –

+0

@NathanTuggy Вот комментарий на английском языке - // здесь я передал растровое изображение – JB06

Смежные вопросы