我事先不知道文本块中文本的宽度,我希望文本块像这样对齐,同时仍然使各个行左对齐:
Mr. Petersen |
Elmstreet 9 |
888 Fantastic City|
Run Code Online (Sandbox Code Playgroud)
(|告知文档的右边缘)
它应该很简单,但我无法弄清楚.
我试图将所有文本放在一个段落中并设置paragraph.Alignment = Element.ALIGN_RIGHT,但这将使各个行正确对齐.
我试图将段落放在表格内的单元格中,并右对齐单元格,但单元格只占据表格的整个宽度.
如果我可以创建一个只需要所需宽度的容器,我可以简单地右对齐这个容器,所以也许这就是我的问题.
我使用以下代码将Editor(Ajax控件)中的内容转换为pdf,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
/// <summary>
/// Summary description for pdfgeneration
/// </summary>
public class pdfgeneration
{
public pdfgeneration()
{
//
// TODO: Add constructor logic here
//
}
public void pdfgenerator(String name1, AjaxControlToolkit.HTMLEditor.Editor Editor1)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/pdf";
// Create PDF document
Document pdfDocument = new Document(PageSize.A4, 70, 55, 40, 25);
PdfWriter wri = PdfWriter.GetInstance(pdfDocument, new FileStream("e://" +name1 + ".pdf", FileMode.Create));
PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream); …Run Code Online (Sandbox Code Playgroud) 我正在使用带有aspmvc项目的itextsharp来创建我的一些页面的PDF版本.我有一个非常基本的解析器,它采用简单的html(加上一些单独提供的样式信息)并创建一个pdf.当我的解析器装入一个表时,它会循环遍历行然后是单元格,为每个单元格创建一个PdfPCell.然后它循环遍历单元的子元素,将它们添加到PdfPCell.这是非常基本的,但到目前为止它对我有用.
问题是我现在有一个表,其中一列包含许多图标,表示该行的不同状态.当这些图像被添加时,在pdf中结束一个在另一个之上,而不是彼此相邻.
我用它创建图像
Dim I As iTextSharp.text.Image = Image.GetInstance(HttpContext.Current.Server.MapPath(El.Attributes("src").InnerText))
Run Code Online (Sandbox Code Playgroud)
我试过了
I.Alignment = Image.TEXTWRAP Or Image.ALIGN_LEFT Or Image.ALIGN_MIDDLE
Run Code Online (Sandbox Code Playgroud)
并添加一个文本块后面包含一个空格,但它没有帮助.我见过的唯一建议是使用I.SetAbsolutePosition().我宁愿避免绝对的位置,但我准备尝试 - 除了我无法弄清楚如何找到当前使用的X位置?
任何帮助非常感谢.
亚当
我正在使用iTextSharp API从我的C#4.0 Windows应用程序生成PDF文件.我将传递包含Rich Text和Images的HTML字符串.我的PDF文件大小为A4,默认边距.注意到当我在尺寸上有大图像(例如height ="701px"width ="935px")时,图像不会变成PDF.看起来,我必须缩小图像尺寸,它应该能够适合PDF A4尺寸.我通过将图像粘贴到A4尺寸的word文档来检查这一点,MS Word自动缩小图像36%,即MS Word仅占原始图像尺寸的64%并设置绝对高度和宽度.
有人可以帮助模仿C#中的类似行为吗?
让我知道如何自动设置图像高度和宽度以适合A4 PDF文件.
我正在从数据库中读取数据,并使用 iTextSharp 填充表。这是我读取数据的方式:
var db = Database.Open("NewDatabase");
var sql =
@"SELECT FullName,
[2017-01-02], [2017-01-03], [2017-01-04],
([2017-01-02] + [2017-01-03] + [2017-01-04]) as 'DatesSum',
[Week1]
FROM [NewTable]";
var data = db.Query(sql);
var columns = data.First().Columns;
var doc = new Document();
PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open();
PdfPTable table = new PdfPTable(new float[] {30f, 10f, 10f, 10f, 10f, 10f});
foreach(var row in data)
{
foreach(var column in columns)
{
table.AddCell(new Phrase(row[column] != null ? row[column].ToString() : string.Empty));
}
}
doc.Add(table);
doc.Close();
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在使用“foreach”来遍历数据并填充表。这是我所知道的填充表格的唯一方法(我对 iTextSharp 还很陌生)。
我一直在尝试将数据与单元格的中间对齐。另外,我想改变行的颜色(每隔一行)。我一直在循环中尝试这样的事情,但没有结果:
row[column].HorizontalAlignment …Run Code Online (Sandbox Code Playgroud) 我使用iTextSharp将DataGridView数据导出为PDF.列宽都完全相同,并且某些标题列字被错误地分解.我要做的是自动调整标题列宽度以适应每个标题文本长度.
这是我的代码:
PdfPTable table = new PdfPTable(dgv.Columns.Count);
for (int j = 0; j < dgv.Columns.Count; j++)
{
Font font = new Font(Font.FontFamily.COURIER, 14, Font.ITALIC);
font.Color = BaseColor.BLUE;
if (j == 0)
{
Phrase p1 = new Phrase(dgv.Columns[j].HeaderText, font);
table.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
table.WidthPercentage = 100;
table.AddCell(p1);
}
else
{
string header = dgv.Columns[j].HeaderText;
header = Regex.Replace(dgv.Columns[j].HeaderText, "[A-Z]", " $0").Trim();
Phrase p = new Phrase(header, font);
table.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
table.WidthPercentage = 100;
table.AddCell(p);
}
}
table.HeaderRows = 1;
for (int i = …Run Code Online (Sandbox Code Playgroud) 我正在使用ITextSharp将一些HTML转换为.pdf文件.
是否可以在ITextSharp中设置类css,还是只能设置HTML元素CSS?
例如:如果我转换以下HTML
<p class="redBigText">test</p>
Run Code Online (Sandbox Code Playgroud)
我可以创建一个ITextSharp StyleSheet对象并为类redBigText指定CSS 吗?
StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
styles.LoadTagStyle(".redBigText", "font-size", "50px");
styles.LoadTagStyle(".redBigText", "color", "#ff0000");
var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(mainContents), styles);
Run Code Online (Sandbox Code Playgroud)
或者我只能在ITextSharp中设置CSS元素吗?
StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
styles.LoadTagStyle("P", "font-size", "50px");
styles.LoadTagStyle("P", "color", "#ff0000");
var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(mainContents), styles);
Run Code Online (Sandbox Code Playgroud) 我正在寻找创建PDF包的功能:

该图显示了可从Adobe下载的免费adobe阅读器(duh!).当我打开这个特定的PDF时,我惊讶于它具有所有这些布局,文件和附件功能.这绝对不是正常的"PDF合并".它更像是一个包含多个PDF的包.
itextsharp可以这样做吗?此PDF功能的搜索字词是什么?
我正在尝试使用iTextSharp在PDF中显示"✔"字符.但是,角色不会显示在创建的PDF上.请帮帮我.
itext ×9
c# ×6
.net ×3
pdf ×3
asp.net ×1
asp.net-mvc ×1
c#-4.0 ×1
css ×1
datagridview ×1
html ×1
html-to-pdf ×1
vb.net ×1