Hi,
I import an existing word-doc that contains several bookmarks:
// import word-doc to RadFlowDocument
RadFlowDocument templateDocument = provider.Import(fileMemoryStream);
// edit RadFlowDocument
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(templateDocument);
Then I modify the RadFlowDocument (inserting text, tables, ... at certain positions) by using the RadFlowDocumentEditor.
Finally, I need to remove/delete some parts of the document that are between two bookmarks. I have searched the documentation and forums but could not find a way how to do this.
Any help would be appreciated.
Regards, Manu
Hi All,
I need to write custom code for generating the PDF, where i am getting the image in binary format some thing like below. from database.
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATYAAACxCAYAAABOfp...........................
The Image needs to be inserted into BLOCK of RadFixedDocument. I do have the functions like the following , but my question is how to convert the above image format to any one of the parameters below.
block.InsertImage(imageSource);
block.InsertImage(stream);
block.InsertImage(imageSource, size);
block.InsertImage(stream, size);
block.InsertImage(imageSource, width, height);
block.InsertImage(stream, width, height);
Regards,
JP.
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