From b3be51e201332657a03504cc3136929162767adb Mon Sep 17 00:00:00 2001 From: KB Bot Date: Fri, 17 Jan 2025 08:19:48 +0000 Subject: [PATCH 1/2] Added new kb article generate-table-with-radfixeddocumenteditor --- ...erate-table-with-radfixeddocumenteditor.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 knowledge-base/generate-table-with-radfixeddocumenteditor.md diff --git a/knowledge-base/generate-table-with-radfixeddocumenteditor.md b/knowledge-base/generate-table-with-radfixeddocumenteditor.md new file mode 100644 index 00000000..a9e118f2 --- /dev/null +++ b/knowledge-base/generate-table-with-radfixeddocumenteditor.md @@ -0,0 +1,40 @@ +--- +title: Generating a Table with RadFixedDocumentEditor +description: Learn how to build a table using RadFixedDocumentEditor in RadPdfProcessing and explores the alternative RadFixedDocumentEditor for a flow-like content management. +type: how-to +page_title: How to Generate a Table with RadFixedDocumentEditor +slug: generate-table-with-radfixeddocumenteditor +tags: radpdfprocessing, document processing, fixedcontenteditor, radfixeddocumenteditor, pdf, editing +res_type: kb +ticketid: 1674934 +--- +| Version | Product | Author | +| ---- | ---- | ---- | +| 2024.4.1106| RadPdfProcessing |[Desislava Yordanova](https://www.telerik.com/blogs/author/desislava-yordanova)| + +## Description +When creating or editing a PDF document using RadPdfProcessing, understanding how to manage the positioning of elements is essential. This knowledge base article addresses the question of whether it's necessary to reposition all elements below a newly added element in the middle of the PDF file using [FixedContentEditor](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/editing/fixedcontenteditor) and explores the existence of a design tool for creating PDF documents. This knowledge base article also answers the following questions: +- How to generate a PDF document from images using FixedContentEditor? +- How to add a watermark to PDF files using RadPdfProcessing? +- Is there a design tool provided by Telerik for creating PDF documents? + +## Solution +### Managing Elements with FixedContentEditor +The [FixedContentEditor](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/editing/fixedcontenteditor) in RadPdfProcessing enables precise control over the element's positioning within a PDF page. It acts as a pencil, allowing content to be drawn at specific locations. After adding an element, adjust the editor's Position to prevent overlapping with subsequent elements. This method requires manual management of each element's position, especially when inserting a new element amidst existing ones. + +For more insights on using FixedContentEditor effectively, consider reviewing these resources: +- [How to Generate a PDF Document from Images with FixedContentEditor](https://docs.telerik.com/devtools/document-processing/knowledge-base/pdf-from-images-with-fixedcontenteditor) +- [Adding a Watermark to PDF Files Using RadPdfProcessing](https://docs.telerik.com/devtools/document-processing/knowledge-base/add-watermark-pdf-radpdfprocessing) + +### Flow-Like Content Management with RadFixedDocumentEditor +Alternatively, RadPdfProcessing offers the [RadFixedDocumentEditor](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/editing/radfixeddocumenteditor), which allows for a flow-like content management approach. This editor automates the positioning of elements, enabling you to insert content sequentially without manually calculating positions. This option might be more suitable for scenarios where manual positioning is cumbersome. + +### Design Tool for Creating PDF +Regarding the query on a design tool for PDF creation, Telerik Document Processing is primarily focused on processing document formats programmatically and does not include a design tool for PDF creation. The functionality to visually design and edit PDF documents typically falls within UI components like a PDF viewer, which is outside the scope of the Telerik Document Processing libraries. + +## See Also +- [RadPdfProcessing Overview](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/overview) +- [RadFixedDocumentEditor Documentation](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/editing/radfixeddocumenteditor) +- [Introduction to Telerik Document Processing](https://docs.telerik.com/devtools/document-processing/introduction) + + From 8651ad982036e5c8d93e97996207093a1e5f9012 Mon Sep 17 00:00:00 2001 From: Desislava Yordanova Date: Mon, 27 Jan 2025 17:39:15 +0200 Subject: [PATCH 2/2] new KB - Generating a Table with RadFixedDocumentEditor --- ...erate-table-with-radfixeddocumenteditor.md | 104 +++++++++++++++--- .../pdf-table-with-radfixeddocumenteditor.png | Bin 0 -> 15898 bytes .../editing/radfixeddocumenteditor.md | 1 + libraries/radpdfprocessing/editing/table.md | 1 + 4 files changed, 92 insertions(+), 14 deletions(-) create mode 100644 knowledge-base/images/pdf-table-with-radfixeddocumenteditor.png diff --git a/knowledge-base/generate-table-with-radfixeddocumenteditor.md b/knowledge-base/generate-table-with-radfixeddocumenteditor.md index a9e118f2..1f8ed0b1 100644 --- a/knowledge-base/generate-table-with-radfixeddocumenteditor.md +++ b/knowledge-base/generate-table-with-radfixeddocumenteditor.md @@ -4,7 +4,7 @@ description: Learn how to build a table using RadFixedDocumentEditor in RadPdfPr type: how-to page_title: How to Generate a Table with RadFixedDocumentEditor slug: generate-table-with-radfixeddocumenteditor -tags: radpdfprocessing, document processing, fixedcontenteditor, radfixeddocumenteditor, pdf, editing +tags: pdf, document, processing, fixedcontenteditor, radfixeddocumenteditor, edit, table res_type: kb ticketid: 1674934 --- @@ -13,28 +13,104 @@ ticketid: 1674934 | 2024.4.1106| RadPdfProcessing |[Desislava Yordanova](https://www.telerik.com/blogs/author/desislava-yordanova)| ## Description -When creating or editing a PDF document using RadPdfProcessing, understanding how to manage the positioning of elements is essential. This knowledge base article addresses the question of whether it's necessary to reposition all elements below a newly added element in the middle of the PDF file using [FixedContentEditor](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/editing/fixedcontenteditor) and explores the existence of a design tool for creating PDF documents. This knowledge base article also answers the following questions: -- How to generate a PDF document from images using FixedContentEditor? -- How to add a watermark to PDF files using RadPdfProcessing? -- Is there a design tool provided by Telerik for creating PDF documents? + +When creating or editing a PDF document using [RadPdfProcessing]({%slug radpdfprocessing-overview%}), understanding how to manage the positioning of elements is essential. This knowledge base article addresses the question of whether it's necessary to reposition all elements below a newly added element in the middle of the PDF file using [FixedContentEditor]({%slug radpdfprocessing-editing-fixedcontenteditor%}) and explores the alternative functionality offerred by the [RadFixedDocumentEditor]({%slug radpdfprocessing-editing-radfixeddocumenteditor%}) to generate a PDF table. ## Solution + +RadPdfProcessing offers two options for manipulating the content in a PDF document: + +* **[FixedContentEditor]({%slug radpdfprocessing-editing-fixedcontenteditor%})** - requires managing the Position at which the document elements will be drawn. + +* **[RadFixedDocumentEditor]({%slug radpdfprocessing-editing-radfixeddocumenteditor%})** - manages the document's content in a flow-like manner and allows you to insert all desired elements one after another without calculating the elements' position. + ### Managing Elements with FixedContentEditor -The [FixedContentEditor](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/editing/fixedcontenteditor) in RadPdfProcessing enables precise control over the element's positioning within a PDF page. It acts as a pencil, allowing content to be drawn at specific locations. After adding an element, adjust the editor's Position to prevent overlapping with subsequent elements. This method requires manual management of each element's position, especially when inserting a new element amidst existing ones. + +The [FixedContentEditor]({%slug radpdfprocessing-editing-fixedcontenteditor%}) in RadPdfProcessing enables precise control over the element's positioning within a PDF page. It acts as a pencil, allowing content to be drawn at specific locations. After adding an element, adjust the editor's Position to prevent overlapping with subsequent elements. This method requires manual management of each element's position, especially when inserting a new element amidst existing ones. For more insights on using FixedContentEditor effectively, consider reviewing these resources: -- [How to Generate a PDF Document from Images with FixedContentEditor](https://docs.telerik.com/devtools/document-processing/knowledge-base/pdf-from-images-with-fixedcontenteditor) -- [Adding a Watermark to PDF Files Using RadPdfProcessing](https://docs.telerik.com/devtools/document-processing/knowledge-base/add-watermark-pdf-radpdfprocessing) +- [Creating Custom Layout Tables with RadPdfProcessing]({%slug customize-table-layout-radpdfprocessing%}) +- [How to Generate a Table with Images with PdfProcessing]({%slug generate-table-with-images-pdf-processing%}) ### Flow-Like Content Management with RadFixedDocumentEditor -Alternatively, RadPdfProcessing offers the [RadFixedDocumentEditor](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/editing/radfixeddocumenteditor), which allows for a flow-like content management approach. This editor automates the positioning of elements, enabling you to insert content sequentially without manually calculating positions. This option might be more suitable for scenarios where manual positioning is cumbersome. -### Design Tool for Creating PDF -Regarding the query on a design tool for PDF creation, Telerik Document Processing is primarily focused on processing document formats programmatically and does not include a design tool for PDF creation. The functionality to visually design and edit PDF documents typically falls within UI components like a PDF viewer, which is outside the scope of the Telerik Document Processing libraries. +Alternatively, RadPdfProcessing offers the [RadFixedDocumentEditor]({%slug radpdfprocessing-editing-radfixeddocumenteditor%}, which allows for a flow-like content management approach. This editor automates the positioning of elements, enabling you to insert content sequentially without manually calculating positions. This option might be more suitable for scenarios where manual positioning is cumbersome. + +The following example demonstrates how to create a table which result is illustrated below: + +```csharp + RadFixedDocument radFixedDocument = new RadFixedDocument(); + RadFixedDocumentEditor radFixedDocumentEditor = new RadFixedDocumentEditor(radFixedDocument); + + Table table = new Table(); + table.LayoutType = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.TableLayoutType.FixedWidth; + + TableRow row = table.Rows.AddTableRow(); + TableCell cell = row.Cells.AddTableCell(); + cell.Blocks.AddBlock().InsertText("Account No."); + cell.Blocks.AddBlock().InsertText("12345678910"); + + cell = row.Cells.AddTableCell(); + cell.Background = new RgbColor(255, 100, 100); + cell.Blocks.AddBlock().InsertText("Statement Date"); + cell.Blocks.AddBlock().InsertText("November 15, 2021"); + + + row = table.Rows.AddTableRow(); + cell = row.Cells.AddTableCell(); + cell.Blocks.AddBlock().InsertText(" "); + cell = row.Cells.AddTableCell(); + cell.Background = new RgbColor(255, 100, 100); + + row = table.Rows.AddTableRow(); + cell = row.Cells.AddTableCell(); + cell.Blocks.AddBlock().InsertText("Account Name"); + cell.Blocks.AddBlock().InsertText("Leslie Holden"); + + cell = row.Cells.AddTableCell(); + cell.Background = new RgbColor(255, 100, 100); + cell.Blocks.AddBlock().InsertText("Period Statement from"); + cell.Blocks.AddBlock().InsertText("November 1, 2021");; + + + row = table.Rows.AddTableRow(); + cell = row.Cells.AddTableCell(); + cell.Blocks.AddBlock().InsertText(" "); + cell = row.Cells.AddTableCell(); + cell.Background = new RgbColor(255, 100, 100); + + row = table.Rows.AddTableRow(); + cell = row.Cells.AddTableCell(); + cell.Blocks.AddBlock().InsertText("Address"); + cell.Blocks.AddBlock().InsertText("4344 Poco Mas Drive"); + cell.Blocks.AddBlock().InsertText("Dallas, FL, 33009"); + + cell = row.Cells.AddTableCell(); + cell.Background = new RgbColor(255, 100, 100); + cell.Blocks.AddBlock().InsertText("Period Statement until"); + cell.Blocks.AddBlock().InsertText("November 13, 2021"); + + radFixedDocumentEditor.InsertTable(table); + + radFixedDocumentEditor.Dispose(); + + + string outputFilePath = "output.pdf"; + File.Delete(outputFilePath); + PdfFormatProvider provider = new PdfFormatProvider(); + using (Stream output = File.OpenWrite(outputFilePath)) + { + provider.Export(radFixedDocument, output, TimeSpan.FromSeconds(10)); + } + + Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true }); +``` + + ![Table with RadFixedDocumentEditor](images/pdf-table-with-radfixeddocumenteditor.png) ## See Also -- [RadPdfProcessing Overview](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/overview) -- [RadFixedDocumentEditor Documentation](https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/editing/radfixeddocumenteditor) -- [Introduction to Telerik Document Processing](https://docs.telerik.com/devtools/document-processing/introduction) +- [RadPdfProcessing]({%slug radpdfprocessing-overview%}) +- [RadFixedDocumentEditor]({%slug radpdfprocessing-editing-radfixeddocumenteditor%}) +- [Table]({%slug radpdfprocessing-editing-table%}) diff --git a/knowledge-base/images/pdf-table-with-radfixeddocumenteditor.png b/knowledge-base/images/pdf-table-with-radfixeddocumenteditor.png new file mode 100644 index 0000000000000000000000000000000000000000..17e4041c2cb794cc1e4be41e54338571d4c8ab6c GIT binary patch literal 15898 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
;_eU%L(~l%N(KDMqu}X1sb}m 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 literal 0 HcmV?d00001 diff --git a/libraries/radpdfprocessing/editing/radfixeddocumenteditor.md b/libraries/radpdfprocessing/editing/radfixeddocumenteditor.md index de339293..a6ad7f95 100644 --- a/libraries/radpdfprocessing/editing/radfixeddocumenteditor.md +++ b/libraries/radpdfprocessing/editing/radfixeddocumenteditor.md @@ -323,3 +323,4 @@ There is an additional overload of InsertFormInline() that enables you to pass t * [ImageSource]({%slug radpdfprocessing-model-imagesource%}) * [Table]({%slug radpdfprocessing-editing-table%}) * [How to Generate a PDF Document from Images with RadFixedDocumentEditor]({%slug pdf-from-images-with-radfixeddocumenteditor%}) + * [Generating a Table with RadFixedDocumentEditor]({%slug generate-table-with-radfixeddocumenteditor%}) diff --git a/libraries/radpdfprocessing/editing/table.md b/libraries/radpdfprocessing/editing/table.md index e4d05415..e335b133 100644 --- a/libraries/radpdfprocessing/editing/table.md +++ b/libraries/radpdfprocessing/editing/table.md @@ -298,4 +298,5 @@ As of **Q3 2024**, along with the BorderStyle.*Single*, RadPdfProcessing offers * [How to Generate a Table with Images with PdfProcessing]({%slug generate-table-with-images-pdf-processing%}) * [Creating Custom Layout Tables with RadPdfProcessing]({%slug customize-table-layout-radpdfprocessing%}) * [Implementing Column Span in RadPdfProcessing Tables]({%slug table-column-span-radpdfprocessing%}) + * [Generating a Table with RadFixedDocumentEditor]({%slug generate-table-with-radfixeddocumenteditor%})