Spire.Doc is a professional Word .NET library specifically designed for developers to create, read, write, convert and print Word document files. Get free and professional technical support for Spire.Doc for .NET, Java, Android, C++, Python.

Sat Jun 11, 2022 6:43 am

In below code I want to create a DocX and a PDF file with 2 Columns.
To devide the document into two column I use following snippets.

Code Snippet 1:
Code: Select all
section.AddColumn(200f, 0f);
document.Sections[0].AddColumn(200f, 0f);


ISSUE 1: But I'm not sure Why I need to addColumn two times by section. Please note that, When I comment out one line of "Code Snippet 1". Column split does not work.

Code Snippet 2:
Code: Select all
document.SaveToFile("~/2 column.docx", FileFormat.Docx);
document.SaveToFile("~/Problem to generate 2 column.PDF", FileFormat.PDF);


ISSUE 2: After deviding into two column by "Code Snippet 1", I tried to Save the document into PDF "Code Snippet 2". But pdf does contain Two column. When I reload the document again then save it to PDF it contain Two column, described "Code Snippet 3". Is it possible to create PDF containing two column without reloading the document.

Code Snippet 3:
Code: Select all
 document.SaveToFile("~/2 column.docx", FileFormat.Docx);
document.SaveToFile("~/Problem to generate 2 column.PDF", FileFormat.PDF);

var doc = new Document();
doc.LoadFromFile(@"~/2 column.docx");
doc.SaveToFile("~/Generated two column by reload.pdf", FileFormat.PDF);




FULL CODE

Code: Select all
using Spire.Doc;
using System.Drawing;
using Document = Spire.Doc.Document;

namespace EidtWord
{
    class Program
    {
        static void Main(string[] args)
        {
            //Load Document
            var document = new Document();
            var section = document.AddSection();
            var para1 = section.AddParagraph();
            para1.Text = "Spire.Doc for .NET Introduction";

            //Add New Text
            var para2 = section.AddParagraph();
            var tr = para2.AppendText(@"Spire.Doc for .NET is stand-alone"
            + @"to enables developers to operate Word witout Microsoft Word installed.  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris aliquet malesuada scelerisque. Curabitur euismod metus at molestie laoreet. Proin at leo vel dolor semper pellentesque. Nulla posuere augue molestie ipsum sollicitudin, placerat porttitor metus convallis. Fusce laoreet vehicula tristique. Etiam maximus ligula et varius finibus. Integer mollis aliquet augue eget dignissim. Donec pellentesque elementum gravida. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

Praesent ut tortor ligula.Curabitur tristique luctus consectetur.Ut risus mi, facilisis et venenatis vitae, porta ac sapien.Nunc ex mi, posuere ut placerat vitae, vestibulum eu eros.Duis suscipit tellus in mi blandit aliquam.Integer ac nisl eu enim ornare volutpat.In vitae iaculis mauris.Mauris varius quam vel risus tincidunt elementum.Cras vehicula gravida suscipit.Nulla risus velit, imperdiet pellentesque sodales ac, mollis nec eros.Integer sit amet mollis tellus.

Pellentesque vel gravida ligula.In mattis est vehicula, mattis diam et, tempor nisi.Nulla vitae diam dignissim, facilisis justo et, facilisis dui.Etiam auctor cursus turpis, ut lacinia urna facilisis vel.Sed commodo ante enim, eu semper ex bibendum eu.Pellentesque placerat lacinia dui ac ornare.Vivamus commodo fringilla odio, quis porttitor lorem viverra eget.Donec sed mi quis neque eleifend ultricies.Sed eget rutrum nulla.Nullam quis eros pulvinar elit euismod elementum vel eget sem.Duis in turpis ac urna scelerisque fermentum.Aenean pulvinar consequat lobortis.Suspendisse quis volutpat ipsum.Nullam in molestie nibh.

In lacinia, massa non lobortis ullamcorper, velit est ullamcorper urna, quis malesuada sem dui sit amet arcu.Etiam accumsan metus felis, sed placerat est posuere id.Donec finibus pellentesque diam, ac efficitur ex dignissim sit amet.Morbi luctus risus in ligula fringilla vehicula.Phasellus euismod auctor augue, sit amet porttitor lacus.Sed euismod molestie tristique.Maecenas quis massa vel justo malesuada dignissim at ut mi.

Sed placerat egestas libero a volutpat.Nullam egestas diam in nulla finibus, in dignissim lectus cursus.Fusce vel consequat eros, non euismod sem.Nullam sagittis eros ac accumsan posuere.Cras rutrum, erat quis dignissim congue, leo metus dignissim velit, sit amet congue leo augue quis ipsum.Nullam aliquet nulla porttitor ipsum rutrum, in imperdiet turpis maximus.Fusce eleifend finibus ligula vel pharetra.Nunc porttitor dapibus ante.Quisque vitae justo et dui pulvinar laoreet ut nec nisl.Vestibulum accumsan vulputate sagittis.Duis semper, purus et consequat venenatis, nulla justo interdum augue, id pretium nisl nunc id orci.Nunc non ipsum id enim varius tempor consectetur id dolor.Nunc consequat semper cursus.Morbi vitae justo et est venenatis euismod.Cras convallis blandit faucibus.Maecenas hendrerit risus eget sapien volutpat dapibus.

Maecenas sit amet felis suscipit, varius lectus ut, pretium purus.Aliquam libero lacus, mollis id ex vel, ultricies auctor ipsum.Aenean ornare, leo cursus viverra rutrum, turpis augue elementum risus, fermentum tincidunt dolor ante sit amet lectus.Donec feugiat lectus in purus commodo, vitae suscipit metus dapibus.Donec a egestas felis.Integer sed lectus sit amet risus iaculis sollicitudin ut sit amet diam.Sed rhoncus est felis, id lobortis quam sollicitudin ut.Cras lobortis ut augue eget porttitor.Vestibulum egestas volutpat urna, eu congue enim dignissim ut.Sed fringilla id ipsum eget imperdiet.Nunc cursus metus vitae odio convallis, id mollis ex tincidunt.Mauris quis bibendum ex, at pharetra turpis.Nullam nisi elit, egestas eget tincidunt finibus, semper sed nibh.

Donec ornare semper efficitur.Cras vel justo pharetra, finibus urna et, hendrerit diam.Vivamus eget semper velit, ut euismod diam.Vestibulum bibendum nunc at metus commodo, sed tempor dolor pharetra.Sed finibus tempor sem quis consectetur.Maecenas diam risus, posuere ut auctor in, cursus eu ligula.Morbi id neque semper, dignissim neque vel, suscipit metus.In sit amet placerat urna.Duis porta cursus tortor ac rhoncus.Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.Maecenas vehicula lectus vitae neque malesuada, in cursus mi luctus.Curabitur ut tellus vel libero ultricies pretium vel sit amet dolor.Integer tempor in nibh ac laoreet.In interdum lectus ut dui finibus auctor.

Cras ut est et quam auctor vulputate ultricies et massa.Aliquam vitae nunc ut metus mollis molestie eget sit amet mauris.Suspendisse vestibulum accumsan arcu.Quisque ultrices aliquet ullamcorper.Praesent vel porttitor urna.Proin urna dolor, interdum ut egestas condimentum, ultricies imperdiet risus.Nullam fringilla sem sit amet ipsum sagittis cursus.Proin sed metus molestie, venenatis risus at, finibus odio.Nunc pulvinar nec enim sit amet commodo.Curabitur justo mi, porta eget turpis vitae, euismod venenatis orci.Vestibulum condimentum egestas mattis.Sed et diam justo.Quisque vitae tristique orci.Interdum et malesuada fames ac ante ipsum primis in faucibus.

Nullam interdum purus dolipit tristique.Nam id diam mollis, egestas neque eu, malesuada tellus.Sed vel consequat diam, eu ullamcorper diam.Nulla ornare varius metus, a laoreet ipsum vehicula sed.Mauris sed mauris egestas, finibus erat nec, vehicula lorem.Suspendisse eu justo id massa finibus malesuada.Donec lobortis risus sed dolor tristique tristiqueraesent luctus mattis blandit. Phasellus porta, erat in sollicitudin faucibus, lorem nisl cursus risus, nec suscipit metus risus non sapien. Suspendisse potenti.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.Aenean bibendum nibh in iaculis dapibus. Sed aliquet nec libero sed facilisis. Nam tempus blandit pulvinar. Maecenas porta bibendum risus. Vestibulum magna nisi, accumsan sed nunc id, congue lobortis augue. Cras sit amet velit quis tortor posuere vehicula id eget lorem.Sed molestie ante sit amet tincidunt rutrum.Nunc ac neque nunc. Donec facilisis tortor vitae arcu finibus semper.Pellentesque vitae semper odio, at laoreet diam. Fusce et laoreet lorem, suscipit sollicitudin sapien. Fusce facilisis dui et tellus lacinia, ac commodo lacus lacinia.Proin metus nunc, molestie non purus eu, commodo gravida urna.

Nullam vel interdum nibh. Nulla laoreet purus tortor, eu tristique nunc hendrerit ac. Pellentesque luctus magna non placerat convallis. Sed imperdiet dui feugiat molestie finibus. Aliquam venenatis a massa ac porttitor. Vivamus tincidunt leo ligula, eu vestibulum ipsum malesuada eu. Interdum et malesuada fames ac ante ipsum primis in faucibus.Cras ac neque commodo lectus varius finibus.Integer dignissim sollicitudin lorem, eget mattis eros iaculis at. Duis sollicitudin orci ac scelerisque auctor. Duis venenatis, mi in ultrices aliquam, arcu risus eleifend leo, et semper quam massa a leo.
                ");

            tr.CharacterFormat.FontName = "Cataneo BT";
            tr.CharacterFormat.FontSize = 12;
            tr.CharacterFormat.TextColor = Color.YellowGreen;


            section.AddColumn(200f, 0f);
            document.Sections[0].AddColumn(200f, 0f);
            document.Sections[0].PageSetup.ColumnsLineBetween = true;

            //Save and Launch
            document.SaveToFile("~/2 column.docx", FileFormat.Docx);
            document.SaveToFile("~/Problem to generate 2 column.PDF", FileFormat.PDF);

            var doc = new Document();
            doc.LoadFromFile(@"~/2 column.docx");
            doc.SaveToFile("~/Generated two column by reload.pdf", FileFormat.PDF);
        }
    }
}


marufbdonline
 
Posts: 2
Joined: Sat Jun 11, 2022 6:14 am

Mon Jun 13, 2022 9:52 am

Hi,

Thank you for your inquiry and sorry for the late reply due to weekend.
1.After investigation, we found that our Spire.Doc creates a new Word document whose column default value is 0. According to the Word specification, the Column feature only take effect when the column value more than 1 (including 1). Hence, you have to call AddColumn() method twice.

2. I reproduced your problem that the two columns didn't take effect when directly saving to PDF. I logged the issue into our bug tracking system with ticket SPIREDOC-7968. Our dev team will investigate this issue, once there is any good news, I will inform you. Apologize for the inconvenience caused.

Sincerely,
Kylie
E-iceblue support team
User avatar

kylie.tian
 
Posts: 412
Joined: Mon Mar 07, 2022 2:30 am

Tue Jun 21, 2022 4:59 am

Thank you for the reply. Could you please mention how much time will needed to fix pdf generation problem?

marufbdonline
 
Posts: 2
Joined: Sat Jun 11, 2022 6:14 am

Tue Jun 21, 2022 7:42 am

Hi,

Our dev team has adjusted your problem and it is going to the test stage. Since the test result is unpredictable, sorry I can't provide an estimated timeframe at this moment. If the test goes well, we will provide a hotfix asap. I will inform you as soon as there is any good news. Thanks for your understanding.

Sincerely,
Kylie
E-iceblue support team
User avatar

kylie.tian
 
Posts: 412
Joined: Mon Mar 07, 2022 2:30 am

Mon Aug 01, 2022 8:46 am

Hi,

Glad to inform that we just released Spire.Doc Pack(hot fix) Version:10.7.16 which fixed SPIREDOC-7968, you can download it from the following links to test.
Website link: https://www.e-iceblue.com/Download/down ... t-now.html
Nuget link: https://www.nuget.org/packages/Spire.Doc/10.7.16

Sincerely,
Kylie
E-iceblue support team
User avatar

kylie.tian
 
Posts: 412
Joined: Mon Mar 07, 2022 2:30 am

Mon Aug 22, 2022 7:49 am

Hi,

Greetings from E-iceblue.
Has your problem been effectively solved now? Could you give us some feedback at your convenience?

Sincerely,
Kylie
E-iceblue support team
User avatar

kylie.tian
 
Posts: 412
Joined: Mon Mar 07, 2022 2:30 am

Return to Spire.Doc