我正在开发一个项目,必须从几个Excel文件制作pdf报告.文件应如下所示:http://img194.imageshack.us/i/24766860.jpg/,pdf应如下所示:http://img96.imageshack.us/i/u2ntitled.jpg/其中的位置column必须具有excel文件中合并单元格的值(B2:E2).
因此,难点在于如何读取合并的单元格并将其值放在位置列中.
如果该信息不够,我可以添加源代码.如果您想要任何其他信息,请立即给我.
我有一张桌子,这张桌子有3列.在每列中,都有一张类似于图片的表格.我做了一个生成表的方法,这个方法在参数中接收一个列表并在其上循环以将addCell添加到表中
我想一条线有一个而不是5列...... 1 + 1(colspan of 4).当我做一个colspan时,第一个被合并,我想合并4最后并保持第一个.
我怎样才能做到这一点 ?
谢谢,

我在iTextSharp中收到"文档未打开"错误,但仅限于生产中.代码在我的开发机器和分段上运行良好.我在舞台服务器上的Temp文件夹中设置了相同的权限.
public static byte[] ConvertHtmlToPdf(string html)
{
html = HtmlPostProcessor.Process(html);
byte[] fileData = null;
string tempPath = ConfigurationManager.AppSettings["TempDirectory"];
string tempPDFFile = Path.Combine(tempPath, Guid.NewGuid() + ".pdf");
int num = FontFactory.RegisterDirectory(@"C:\Windows\Fonts");
using (FileStream fs = new FileStream(tempPDFFile, FileMode.Create))
{
using (Document document = new Document(PageSize.LETTER, 50, 50, 50, 50))
{
document.Open();
PdfWriter.GetInstance(document, fs);
using (StringReader stringReader = new StringReader(html))
{
List<IElement> parsedList = HTMLWorker.ParseToList(stringReader, null);
foreach (IElement item in parsedList)
{
document.Add(item);
}
}
}
}
FileStream generatedPDF = File.Open(tempPDFFile, FileMode.Open);
fileData …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用iTextSharp创建包含多个页面的pdf
Document document = new Document(PageSize.A4, 2, 2, 10, 10);
private PdfContentByte _pcb;
try
{
PdfWriter writer = PdfWriter.GetInstance(document, output);
document.Open();
document.NewPage();
_pcb = writer.DirectContent;
_pcb.BeginText();
_pcb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, text, x, y, 0);
_pcb.EndText();
writer.Flush();
}
catch(e)
{
}
finally
{
document.Close();
}
Run Code Online (Sandbox Code Playgroud)
这对我来说很好.当我尝试在同一文档上添加新页面时,它正在用新页面替换现有的书面文本,并且不会添加新页面.以下是无效的代码.
_pcb.EndText();
writer.Flush();
document.NewPage();
_pcb = writer.DirectContent;
_pcb.BeginText();
_pcb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, text, x, y, 0);
_pcb.EndText();
writer.Flush();
Run Code Online (Sandbox Code Playgroud) 我正在使用ASP.NET和C#.然后我使用iTextSharp动态创建pdf.有人告诉我如何创建文本框,标签.这可能吗?因为我搜索过他们使用的是PdfpTable和PdfpCell.
给我一些例子..
编辑:我需要创建一个应该看起来像我的.aspx页面的pdf.我正在按钮点击创建.如果我添加处于编辑模式的文本字段,我不想要那样.所以我需要创建整个页面为readonly in PDF?
提供任何材料/文章/电子书..
谢谢..
我的目的是检索页面上所有单词的相应坐标,我所做的是
PdfReader reader = new PdfReader("cde.pdf");
TextWithPositionExtractionStategy S = new TextWithPositionExtractionStategy();
PdfTextExtractor.GetTextFromPage(reader,1,S);
Vector curBaseline = renderInfo.GetDescentLine().GetStartPoint();
Vector topRight = renderInfo.GetAscentLine().GetEndPoint();
iTextSharp.text.Rectangle rect = new iTextSharp.text.Rectangle(curBaseline[Vector.I1], curBaseline[Vector.I2], topRight[Vector.I1], topRight[Vector.I2]);
string x1 = curBaseline[Vector.I1].ToString();
string x2 = curBaseline[Vector.I2].ToString();
string x3 = topRight[Vector.I1].ToString();
string x4 = topRight[Vector.I2].ToString();
Run Code Online (Sandbox Code Playgroud)
但是,我得到的是一个字符串的坐标,它包含一行的所有单词,而不是一个单词.例如,pdf的内容是"我是一个女孩",我得到的是"我是一个"的坐标女孩",但不是"我""是""""女孩"的坐标.如何修改代码,以便我可以得到单词坐标.谢谢.
我有一堆PDF文件-我按要求将它们读取到字节数组中,然后还将其传递给iTextSharp PdfReader实例。然后,我想获取每个页面的尺寸(以像素为单位)。从我到目前为止所读的内容来看,PDF文件似乎是按点工作的,这一点是存储在某种形式的字典中的可配置单元,该类存储在名为UserUnit的元素中。
将我的PDF文件加载到PdfReader中,我需要做些什么来获取每个页面的UserUnit(显然每个页面的UserUnit会有所不同),因此我可以获取页面尺寸(以像素为单位)。
目前,我有这段代码,它以“点”为单位获取每个页面的尺寸-猜想我只需要UerUnit,然后可以将这些尺寸乘以该尺寸以获得像素或类似的东西。
//Create an object to read the PDF
PdfReader reader = new iTextSharp.text.pdf.PdfReader(file_content);
for (int i = 1; i <= reader.NumberOfPages; i++)
{
Rectangle dim = reader.GetPageSize(i);
int[] xy = new int[] { (int)dim.Width, (int)dim.Height }; // returns page size in "points"
page_data[objectid + '-' + i] = xy;
}
Run Code Online (Sandbox Code Playgroud)
干杯!
我有以下问题.我有一个PDF文件,其中包含一个XML文件作为注释.不是嵌入文件而是注释.现在我尝试使用以下链接中的代码阅读它:
它适用于嵌入式文件,但不适用于文件attachemts作为注释.
我谷歌从PDF中提取注释并找到以下链接: 使用iText阅读PDF注释
所以注释类型是"文件附件注释"
有人能展示一个有效的例子吗?
在此先感谢您的帮助
我想在另一个缩放的PDF页面中插入PDF页面.我想用iTextSharp来做这件事.
我有一个矢量绘图,可以导出为单页PDF文件.我想将此文件添加到其他PDF文档的页面中,就像我将图像添加到PDF文档一样.
这可能吗?
这样做的目的是保持放大的能力而不会降低质量.
使用PDF矢量重现矢量绘图非常困难,因为它是一个非常复杂的绘图.
将矢量绘图导出为高分辨率图像不是一种选择,因为我必须在单个PDF文档中使用它们.最终的PDF文件非常大,写作速度太慢.
在阅读了使用C#的LibTiff(访问平铺的TIFF图像)后,我决定尝试使用内置框架类的.Net TiffBitmapDecoder从平铺的TIFF图像生成pdf.
我有一个4MB左右的大TIFF图像,有瓷砖.之前我使用过iTextSharp,但它不支持tile错误.
但是如何PresentationCore.dll在我的Web项目引用中添加程序集?我无法看到Add Reference dialog.我用.Net 4.0 ASP.Net webform project

它仅显示System.Windows.Presentation
还可以使用.Net内置的Framework类中的任何一个处理过的平铺TIFF到pdf,而不使用像LibTIFF这样的第三方库吗?
itextsharp ×10
c# ×9
pdf ×4
.net ×2
asp.net ×2
annotations ×1
attachment ×1
excel ×1
gem ×1
itext ×1
merge ×1
reporting ×1
tiff ×1