Hi,
I've created a word document that I use with WordsProcessing to mail merge. In the document I've had to use tables to be able to get left and right alignments of blocks of text (seems Word's TextBox isn't supported within WordsProcessing?). The tables solution works and allows me to produce a document as per the attached. However, when I try to convert to produced word document to PDF the document comes out with additional borders on the tables (where certain cell borders have been set to none within the word document). The best way to see this is to create a word document with a table of one row with three columns. For the first column make it so that the borders surround the cell (top, left, right bottom). Do the same for the last column. For the second (middle) column remove the top and bottom borders. The document should now show two boxes, one on the left and one on the right (see attached image as an example). Take this Word Document and then convert it to PDF on the demo (https://demos.telerik.com/aspnet-mvc/wordsprocessing/pdf-export). You'll see when comparing the word document and the converted PDF document what the issue is, in that the middle cell of the table renders with the top and bottom border (which is not present in the word document). Is this a limitation of the PDFProcessing? If so is there another way to construct a word document to achieve the same result both for mail merging in WordsProcessing and converting the subsequent document to PDF so that they render as intended?
Many thanks,
Neil
Hello, in an MVC application I need to convert a .docx that contains images into a pdf. My code below works if the docx does not contain an image. If the docx contains an image I get an object reference error when importing the document on this line: document = providerDocx.Import(stream);
RadFlowDocument document = null;
DocxFormatProvider providerDocx = new DocxFormatProvider();
using (FileStream stream = File.Open(@"C:\\test\myWordDoc.docx", FileMode.Open))
{
document = providerDocx.Import(stream);
var providerPdf = new PdfFormatProvider();
Stream outStream = new MemoryStream();
providerPdf.Export(document, outStream);
//Test the conversion:
var fileStream = File.Create(@"C:\\test\myWordDoc.pdf");
outStream.Seek(0, SeekOrigin.Begin);
outStream.CopyTo(fileStream);
fileStream.Close();
}
How can I convert an existing word document with images to a new pdf document?
Hi,
I'm trying to use the RadFlowDocument in order to create a PDF document. I have successfully managed to use the examples provided in the documentation in order to import the body of my HTML into the document, however the examples for the header and footer do not make it clear how I would go about importing HTML in.
Below is the current state of my code. Unfortunately the header comes out as plain text, but the body is successfully processed. Any advise would be greatly received.
public static byte[] GeneratePDF(DocumentTemplate doc)
{
string body = "";
body = doc.DocumentBody;
HtmlFormatProvider provider = new HtmlFormatProvider();
RadFlowDocument rfd = provider.Import(body);
rfd.Sections.AddSection();
Header defaultHeader = rfd.Sections.First().Headers.Add();
Paragraph defaultHeaderParagraph = defaultHeader.Blocks.AddParagraph();
defaultHeaderParagraph.Inlines.AddRun(doc.DocumentHeader);
PdfFormatProvider provider2 = new PdfFormatProvider();
using (MemoryStream output = new MemoryStream())
{
provider2.Export(rfd, output);
return ReadToEnd(output);
}
}
I retrieve a PDF byte array from a web service. How can I use PdfProcessing to display the byte array as a PDF document in a View?
Thanks.
Mike
I am attempting to give color of the particular text in the paragraph. But I am still failed. This is my code. Any help would be appreciated.
01.
List list = document.Lists.Add(ListTemplateType.NumberedDefault);
02.
03.
var section = document.Sections.AddSection();
04.
05.
var paragraphTop = section.Blocks.AddParagraph();
06.
paragraphTop.Inlines.AddRun(
"Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph."
);
07.
08.
var paragraphTop1 = section.Blocks.AddParagraph();
09.
paragraphTop1.Inlines.AddRun(
"okeh <p color=\"red\">this is red color</p> <font color=\"red\">This is some text!</font>"
);
10.
11.
12.
var paragraph1 = section.Blocks.AddParagraph();
13.
paragraph1.Inlines.AddRun(
"Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph."
);
14.
paragraph1.ListId = list.Id;
15.
paragraph1.ListLevel = 0;
16.
17.
var paragraph2 = section.Blocks.AddParagraph();
18.
paragraph2.Inlines.AddRun(
"Line Two, Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph."
);
19.
paragraph2.ListId = list.Id;
20.
paragraph2.ListLevel = 1;
21.
22.
var paragraph3 = section.Blocks.AddParagraph();
23.
paragraph3.Inlines.AddRun(
"Line three, Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph."
);
24.
paragraph3.ListId = list.Id;
25.
paragraph3.ListLevel = 1;
26.
27.
var paragraph4 = section.Blocks.AddParagraph();
28.
paragraph4.Inlines.AddRun(
"Line four, Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph."
);
29.
paragraph4.ListId = list.Id;
30.
paragraph4.ListLevel = 2;
31.
32.
var paragraphBottom = section.Blocks.AddParagraph();
33.
paragraphBottom.Inlines.AddRun(
"Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph."
);
I want to create a table in word document with header that having rowspan and columnspan.
please help me, because I had tried but the result is so messy. I have attach the table like I want. Tks
* note : I used Telerik Q2015
Hi Team,
I am using asp.net webforms.
I want to generate pdf from scratch.
pdf pages size should be A4.
and based on content length i need to generate multiple pages in the PDF.
I am using below code.
protected
void
btn2_Click(
object
sender, EventArgs e)
{
List<
string
> contents =
new
List<
string
>();
contents.Add(
"is a document processing library that enables your application to "
+
"import and export files to and from PDF format. The document model is "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"is a document processing library that enables your application to "
+
"import and export files to and from PDF format. The document model is "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"is a document processing library that enables your application to "
+
"import and export files to and from PDF format. The document model is "
+
"entirely"
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"is a document processing library that enables your application to "
+
"import and export files to and from PDF format. "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"The document model is "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"is a application to "
+
"import and export files to and from PDF format. The document model is "
+
"entirely independent from UI and allows "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"The document model is111 "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"The document model is222 "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"The document model is "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"The document model is "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"The document model is "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"The document model is "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
contents.Add(
"The document model is "
+
"entirely independent from UI and allows you to generate sleek documents "
+
"with differently formatted text, images, shapes and more."
);
var document =
new
RadFixedDocument();
var page = document.Pages.AddPage();
FixedContentEditor editor =
new
FixedContentEditor(page);
var x = 50;
var y = 50;
foreach
(var item
in
contents)
{
editor.Position.Translate(x, y);
//Start Position(x,y)
Block block =
new
Block();
block.GraphicProperties.FillColor = RgbColors.Black;
block.HorizontalAlignment = HorizontalAlignment.Left;
block.TextProperties.Font = FontsRepository.HelveticaBoldOblique;
block.TextProperties.FontSize = 20;
block.InsertText(
"RadPdfProcessing"
);
block.TextProperties.Font = FontsRepository.Helvetica;
block.TextProperties.FontSize = 20;
block.InsertText(item);
editor.DrawBlock(block,
new
System.Windows.Size(700,
double
.PositiveInfinity));
//x = x + 50;
// y = y + 150;
}
var pdfProvider =
new
PdfFormatProvider();
byte
[] renderedBytes =
null
;
using
(MemoryStream ms =
new
MemoryStream())
{
pdfProvider.Export(document, ms);
renderedBytes = ms.ToArray();
}
Response.Clear();
Response.AppendHeader(
"Content-Disposition:"
,
"attachment; filename=PdfDocument.pdf"
);
Response.ContentType =
"application/pdf"
;
Response.BinaryWrite(renderedBytes);
Response.End();
}
but the above code generating only single page.
how can i generate multiple pages based on content. and provide me any examples.
Good morning,
I am trying to finish off a project and I am having trouble getting the PDF assemblies and namespaces sorted out.
I am using VS 2015, and the Telerik UI for WinForms version2018.3.2016
I wanted to export a RadPanel that has a few controls. But I can't seem to find the RadFixedDocument class, or the Telerik.Windows.Pdf namespace at all.
I was following documentation at Getting Started and RadFixedDocument Class and I have all the named assemblies referenced, but I still cannot see the Telerik.Windows.Pdf namespace at all. Much less the sought after RadFixedDocument object.
At this point I am sure I have more assemblies referenced that I actually need, I have attached a screenshot of what I have included so far.
Can anyone help me find what I am missing??
Thank you,
Mike
How can I set the line spacing in all table cells contained in one section equal to 0?
Regards