我正在使用Itext库为android将html转换为pdf,这是正常工作但在某些事情它没有正确解析.我想创建一个红色的虚线分隔符,但它总是给我一个深灰色的实线分隔符.
我的html标签是
<hr noshade style="border: 0; width:100%;border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: red">
Run Code Online (Sandbox Code Playgroud)
我的转换代码
Document document = new Document(PageSize.A4);
//this sets the margin to the created pdf
document.setMargins(35, 35, 150, 100);
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream(fileWithinMyDir));
if (isPrescription) {
HeaderFooterPageEvent event = new HeaderFooterPageEvent();
writer.setPageEvent(event);
} else {
CertificateFooterPageEvent event = new CertificateFooterPageEvent();
writer.setPageEvent(event);
}
document.open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
htmlContext.setImageProvider(new AbstractImageProvider() {
public String getImageRootPath() {
Uri uri = Uri.parse("file:///android_asset/");
return uri.toString();
}
});
CSSResolver cssResolver = …Run Code Online (Sandbox Code Playgroud) 给定Excel电子表格,如何查找数据范围?有没有我可以打电话的方法或我可以检查的财产?我是否需要逐个单元格检查空值然后逐行检查?必须有一个更简单的方法,对吗?
我今天早上刚刚下载了EPPlus库,所以我可能会忽略一些基本的东西.我还检查了示例项目,但没有看到与此问题相关的任何内容.
谢谢!
我希望能够使用iTextSharp 4.2.0将图像大小调整为159x159点的尺寸,但生成的图像需要具有指定的尺寸.
我试过这个:
Image image = Image.GetInstance(imagePath);
image.ScaleAbsolute(159f, 159f);
Run Code Online (Sandbox Code Playgroud)
但图像不是正方形.它保持纵横比.
示例:我有这个图片:

结果图像应该看起来像这样:

谢谢.
我在powershell 2.0中编写脚本,目前无法升级到3.0或更高版本.在这个脚本中,我尝试使用此链接中的代码将一些数据序列化为JSON(PowerShell 2.0 ConvertFrom-Json和ConvertTo-Json实现):
function ConvertTo-Json20([object] $item){
add-type -assembly system.web.extensions
$ps_js=new-object system.web.script.serialization.javascriptSerializer
return $ps_js.Serialize($item)
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我以某种方式获得循环引用,我真的不知道为什么.我设置了一小段测试数据,结构在powershell中看起来像这样:
$testRoot = @{
"id" = "1"
"children" = @(
@{
"id" = "2"
"children" = @(
@{
"id" = "2";
};
@{
"id" = "3";
}
);
};
@{
"id" = "4"
"children" = @(
@{
"id" = "5";
}
);
}
)
}
Run Code Online (Sandbox Code Playgroud)
我知道它看起来很垃圾,但我只需要这种格式.
我需要序列化的结构有更多的层,所以更多的"孩子",并有它变得奇怪的点.
当我尝试这个:
ConvertTo-Json20 $testRoot
Run Code Online (Sandbox Code Playgroud)
一切正常.结构被解析如下:
{
"id":"1",
"children":[
{
"id":"2",
"children":[
{
"id":"2"
},
{
"id":"3"
} …Run Code Online (Sandbox Code Playgroud) 我遇到一些特殊的斯洛伐克人物(例如č,ň和ť).它们在itextsharp生成的pdf中消失了.
从我能够找到的,这个问题与我的编码有关BaseFont.目前我正在使用这个:
BaseFont.CreateFont(BaseFont.HELVETICA, iTextSharp.text.pdf.BaseFont.CP1250, BaseFont.NOT_EMBEDDED)
Run Code Online (Sandbox Code Playgroud)
有人建议这应该有效:
BaseFont.CreateFont(BaseFont.HELVETICA, iTextSharp.text.pdf.BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED)
Run Code Online (Sandbox Code Playgroud)
但它抛出此异常错误:
System.ArgumentException was caught
Message='Identity-H' is not a supported encoding name.
Parameter name: name
ParamName=name
Source=mscorlib
Run Code Online (Sandbox Code Playgroud)
有人知道可能的原因和解决方案吗?
我有一个Excel工作簿,其中C列作为文本存储.将它转换为数字的C#语法是什么?我知道这个VBA会做这个工作
Range("C:C").Select
With Selection
Selection.NumberFormat = "0.00%"
.Value = .Value
End With
Run Code Online (Sandbox Code Playgroud)
我用C#尝试了这个 - 但它将数字存储为文本.
ExcelWorksheet ws3 = pck.Workbook.Worksheets.Add("New Sheet");
ws3.Cells["A1"].LoadFromDataTable(tableforme, true);
ws3.View.FreezePanes(2, 4);
ws3.Cells["C:C"].Style.Numberformat.Format = "#,##0.00";
ws3.Cells["C:C"].Style.Numberformat.Format = "0%";
Run Code Online (Sandbox Code Playgroud)
我必须在C#中做什么来转换作为文本存储的数字的列.
我想在itextsharp中制作一个圆角矩形.这是我现在没有舍入的输出:

这是我处理输出的代码:
pdftbl = new PdfPTable(3);
pdftbl.WidthPercentage = 100;
width = new float[3];
width[0] = 0.6F;
width[1] = 0.2F;
width[2] = 0.6F;
pdftbl.SetWidths(width);
pdfcel = new PdfPCell(new Phrase(Insuredaddress, docFont9));
pdfcel.BorderColor = Color.BLACK;
pdftbl.AddCell(pdfcel);
pdfcel = new PdfPCell(new Phrase("", docWhiteFont9));
pdfcel.Border = 0;
pdftbl.AddCell(pdfcel);
pdfcel = new PdfPCell(new Phrase(BkrAddrss, docFont9));
pdfcel.BorderColor = Color.BLACK;
pdftbl.AddCell(pdfcel);
objDocument.Add(pdftbl);
Run Code Online (Sandbox Code Playgroud)
我可以更改/添加什么来实现所需的结果?
我想转换HTML到PDF在使用iTextSharp的ASP.NET同时使用Web应用程序的MVC,和 网页形式.在<img>和<a>元素有绝对和相对 URL和一些的<img>元素的base64.典型的答案在这里SO和谷歌搜索结果中使用泛型HTML来PDF的代码XMLWorkerHelper看起来是这样的:
using (var stringReader = new StringReader(xHtml))
{
using (Document document = new Document())
{
PdfWriter writer = PdfWriter.GetInstance(document, stream);
document.Open();
XMLWorkerHelper.GetInstance().ParseXHtml(
writer, document, stringReader
);
}
}
Run Code Online (Sandbox Code Playgroud)
所以这样的样本HTML:
<div>
<h3>HTML Works, but Broken in Converted PDF</h3>
<div>Relative local <img>: <img src='./../content/images/kuujinbo_320-30.gif' /></div>
<div>
Base64 <img>:
<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==' />
</div>
<div><a …Run Code Online (Sandbox Code Playgroud) public void pdfgenforffd(TextBox TextBox3, HiddenField HiddenField1, HiddenField HiddenField4, AjaxControlToolkit.HTMLEditor.Editor Editor1)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/pdf";
// Create PDF document
Document pdfDocument = new Document(PageSize.A4, 50, 25, 15, 10);
PdfWriter wri = PdfWriter.GetInstance(pdfDocument, new FileStream("d://" + HiddenField1.Value + "_" + HiddenField4.Value + ".pdf", FileMode.Create));
PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);
pdfDocument.Open();
string htmlText = Editor1.Content;
//string htmlText = htmlText1.Replace(Environment.NewLine, "<br/>");
HTMLWorker htmlWorker = new HTMLWorker(pdfDocument);
htmlWorker.Parse(new StringReader(htmlText));
pdfDocument.Close();
HttpContext.Current.Response.End();
}
Run Code Online (Sandbox Code Playgroud)
我正在使用上面的代码从HTMLEditor(ajax控件)中的html文本生成pdf.如果我用不同宽度的每一列硬编码一个表,进入HTMLEditor文本而不是生成pdf时,列得到相同的分配即使所有列在pdf上都有固定的大小,即使我为每列指定了一些自定义宽度.
我想生成可以将html转换为pdf的pdf,也可以将表格列除以指定的宽度.怎么做?
我正在使用itextsharp将html转换为pdf.我必须在图像旁边放置文字而不是图像下方.在html中,我能够在图像旁边放置文本,但在pdf中,文本行在图像之后开始
请帮忙.