111,110
社区成员




void BitmapToPDF(Bitmap bitmap)
{
//新建PDF文档,添加一页
PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();
doc.Pages.RemoveAt(0);//删除第一页,因为有水印
page = doc.Pages.Add();
page.BackgroundColor = Color.White;
Bitmap image = (Bitmap)Image.FromFile("tt.jpg");
PdfImage pdfImage = PdfImage.FromImage(image);
//设置图片位置
float x = 0;
float y = 0;
//在指定位置绘入图片
page.Canvas.DrawImage(pdfImage, x, y);
//保存文档
doc.SaveToFile("d:/result.pdf");
doc.Close();
Process.Start("d:/result.pdf");
}
问题找到了,如果是用传过来的Bitmap就会出错,但是如果是Bitmap.Save()后再load,就正常。这是为什么呢?using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.Graphics;
namespace DrawImage
{
class Program
{
static void Main(string[] args)
{
//新建PDF文档,添加一页
PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();
//加载图片到Image对象
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\Sample.bmp");
//调整图片大小
int width = image.Width;
int height = image.Height;
float scale = 0.8f; //缩放比例
Size size = new Size((int)(width * scale), (int)(height * scale));
Bitmap scaledImage = new Bitmap(image, size);
//加载缩放后的图片到PdfImage对象
PdfImage pdfImage = PdfImage.FromImage(scaledImage);
//设置图片位置
float x = 0f;
float y = 50f;
//在指定位置绘入图片
page.Canvas.DrawImage(pdfImage, x, y);
//保存文档
doc.SaveToFile("插入图片.pdf");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.Graphics;
namespace DrawImage
{
class Program
{
static void Main(string[] args)
{
//新建PDF文档,添加一页
PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();
//加载图片到Image对象
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\Sample.bmp");
//调整图片大小
int width = image.Width;
int height = image.Height;
float scale = 0.8f; //缩放比例
Size size = new Size((int)(width * scale), (int)(height * scale));
Bitmap scaledImage = new Bitmap(image, size);
//加载缩放后的图片到PdfImage对象
PdfImage pdfImage = PdfImage.FromImage(scaledImage);
//设置图片位置
float x = 0f;
float y = 50f;
//在指定位置绘入图片
page.Canvas.DrawImage(pdfImage, x, y);
//保存文档
doc.SaveToFile("插入图片.pdf");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.Graphics;
namespace DrawImage
{
class Program
{
static void Main(string[] args)
{
//新建PDF文档,添加一页
PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();
//加载图片到Image对象
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\Sample.bmp");
//调整图片大小
int width = image.Width;
int height = image.Height;
float scale = 0.8f; //缩放比例
Size size = new Size((int)(width * scale), (int)(height * scale));
Bitmap scaledImage = new Bitmap(image, size);
//加载缩放后的图片到PdfImage对象
PdfImage pdfImage = PdfImage.FromImage(scaledImage);
//设置图片位置
float x = 0f;
float y = 50f;
//在指定位置绘入图片
page.Canvas.DrawImage(pdfImage, x, y);
//保存文档
doc.SaveToFile("插入图片.pdf");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Pdf;
using System.Drawing;
using Spire.Pdf.Graphics;
namespace DrawImage
{
class Program
{
static void Main(string[] args)
{
//新建PDF文档,添加一页
PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.Pages.Add();
//加载图片到Image对象
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\Sample.bmp");
//调整图片大小
int width = image.Width;
int height = image.Height;
float scale = 0.8f; //缩放比例
Size size = new Size((int)(width * scale), (int)(height * scale));
Bitmap scaledImage = new Bitmap(image, size);
//加载缩放后的图片到PdfImage对象
PdfImage pdfImage = PdfImage.FromImage(scaledImage);
//设置图片位置
float x = 0f;
float y = 50f;
//在指定位置绘入图片
page.Canvas.DrawImage(pdfImage, x, y);
//保存文档
doc.SaveToFile("插入图片.pdf");
}
}
}