|
C# PDF SDK Library
Create PDF from OpenOffice in C# with XDoc.PDF SDK
Enable C#.NET Users to Create PDF OpenOffice Document (Odt, Ods, Odp) from PDF with .NET PDF Library in C# Class
- Best C# OpenOffice to adobe PDF file converter SDK for Visual Studio .NET
- Support .NET WinForms, ASP.NET MVC in IIS, ASP.NET Ajax, Azure cloud service, DNN (DotNetNuke), SharePoint
- A professional .NET PDF control able to batch convert multiple OpenOffice documents to PDF files in C#.NET
- Convert OpenOffice Text Document to PDF with embedded fonts
- Export PDF from OpenOffice Spreadsheet data
-
c# pdf to text free,
c# convert pdf to tiff free library,
convert pdf to png using c#,
c# pdf to image converter,
convert image to pdf using c#,
convert word to pdf c# without interop,
c# pdf converter library.
- Create PDF document from OpenOffice Presentation in both .NET WinForms and ASP.NET application
- An advanced .NET control to change ODT, ODS, ODP forms to fillable PDF formats in Visual C# .NET
- Online source code for C#.NET class
- Free library and components for .NET framework
C# convert single open office (odt, odp) file to PDF
#region odt file to pdf (file to file)
internal static void odtToPdf()
{
String inputPath = @"C:\demo.odt";
String outputPath = @"C:\output.pdf";
//convert .docx to .pdf
ODTDocument doc = new ODTDocument(inputPath);
doc.ConvertToDocument(DocumentType.PDF, outputPath);
}
#endregion
#region odt to pdf (stream to stream)
internal static void odtStreamToPdf()
{
String inputPath = @"";
byte[] arr = File.ReadAllBytes(inputPath);
Stream inputStream = new MemoryStream(arr);
ODTDocument doc = new ODTDocument(inputStream);
Stream outputStream = new MemoryStream();
doc.ConvertToDocument(DocumentType.PDF, outputStream);
}
#endregion
#region odp file to pdf (file to file)
internal static void odpToPdf()
{
String inputPath = @"C:\demo.odp";
String outputPath = @"C:\output.pdf";
//convert .docx to .pdf
ODPDocument doc = new ODPDocument(inputPath);
doc.ConvertToDocument(DocumentType.PDF, outputPath);
}
#endregion
#region odp to pdf (stream to stream)
internal static void odpStreamToPdf()
{
String inputPath = @"";
byte[] arr = File.ReadAllBytes(inputPath);
Stream inputStream = new MemoryStream(arr);
ODPDocument doc = new ODPDocument(inputStream);
Stream outputStream = new MemoryStream();
doc.ConvertToDocument(DocumentType.PDF, outputStream);
}
#endregion
C# convert two or multiple open office (odt, odp) files to PDF (batch convert)
#region odt to pdf (batch files and single tread)
internal static void odtFilesToPdf()
{
String inputDirectory = @"C:\input\";
String outputDirectory = @"C:\output\";
String[] files = Directory.GetFiles(inputDirectory, "*.odt");
foreach (String filePath in files)
{
int startIdx = filePath.LastIndexOf("\\");
int endIdx = filePath.LastIndexOf(".");
String docName = filePath.Substring(startIdx + 1, endIdx - startIdx - 1);
ODTDocument doc = new ODTDocument(filePath);
doc.ConvertToDocument(DocumentType.PDF, outputDirectory + docName + ".pdf");
}
}
#endregion
#region odt to pdf (batch file and multiple threads)
internal static void odtfiles2pdf()
{
String inputDirectory = @"C:\input\";
String outputDirectory = @"C:\output\";
String[] files = Directory.GetFiles(inputDirectory, "*.odt");
List<ConversionArgs> args = new List<ConversionArgs>();
foreach (String filePath in files)
{
int startIdx = filePath.LastIndexOf("\\");
int endIdx = filePath.LastIndexOf(".");
String docName = filePath.Substring(startIdx + 1, endIdx - startIdx - 1);
ConversionArgs arg = new ConversionArgs(filePath, outputDirectory + docName + ".pdf");
args.Add(arg);
}
List<Thread> threads = new List<Thread>();
foreach (ConversionArgs arg in args)
{
Thread thread = new Thread(odtToPdfThread);
thread.Start(arg);
}
foreach (Thread thread in threads)
{
thread.Join();
}
}
private static void odtToPdfThread(object args)
{
ConversionArgs toPdfArgs = (ConversionArgs)args;
ODTDocument srcDoc = new ODTDocument(toPdfArgs.SrcPath);
if (srcDoc != null)
{
srcDoc.ConvertToDocument(DocumentType.PDF, toPdfArgs.DstPath);
srcDoc.Dispose();
}
}
#endregion
#region odp to pdf (batch files and single tread)
internal static void odpFilesToPdf()
{
String inputDirectory = @"C:\input\";
String outputDirectory = @"C:\output\";
String[] files = Directory.GetFiles(inputDirectory, "*.odp");
foreach (String filePath in files)
{
int startIdx = filePath.LastIndexOf("\\");
int endIdx = filePath.LastIndexOf(".");
String docName = filePath.Substring(startIdx + 1, endIdx - startIdx - 1);
ODPDocument doc = new ODPDocument(filePath);
doc.ConvertToDocument(DocumentType.PDF, outputDirectory + docName + ".pdf");
}
}
#endregion
#region odp to pdf (batch file and multiple threads)
internal static void odpfiles2pdf()
{
String inputDirectory = @"C:\input\";
String outputDirectory = @"C:\output\";
String[] files = Directory.GetFiles(inputDirectory, "*.odp");
List<ConversionArgs> args = new List<ConversionArgs>();
foreach (String filePath in files)
{
int startIdx = filePath.LastIndexOf("\\");
int endIdx = filePath.LastIndexOf(".");
String docName = filePath.Substring(startIdx + 1, endIdx - startIdx - 1);
ConversionArgs arg = new ConversionArgs(filePath, outputDirectory + docName + ".pdf");
args.Add(arg);
}
List<Thread> threads = new List<Thread>();
foreach (ConversionArgs arg in args)
{
Thread thread = new Thread(odpToPdfThread);
thread.Start(arg);
}
foreach (Thread thread in threads)
{
thread.Join();
}
}
private static void odpToPdfThread(object args)
{
ConversionArgs toPdfArgs = (ConversionArgs)args;
ODPDocument srcDoc = new ODPDocument(toPdfArgs.SrcPath);
if (srcDoc != null)
{
srcDoc.ConvertToDocument(DocumentType.PDF, toPdfArgs.DstPath);
srcDoc.Dispose();
}
}
#endregion
C# combine multiple open office (odt, odp) files, and convert to PDF
#region combine and convert odt to single pdf
internal static void combineAndConvertOdtToPdf()
{
String[] files = new String[] { @"C:\demo1.odt", @"C:\demo2.odt", @"C:\demo3.odt" };
String outputFilePath = @"C:\output.pdf";
List<MemoryStream> streams = new List<MemoryStream>();
foreach (String file in files)
{
MemoryStream outputStream = new MemoryStream();
ODTDocument doc = new ODTDocument(file);
doc.ConvertToDocument(DocumentType.PDF, outputStream);
streams.Add(outputStream);
}
PDFDocument.CombineDocument(streams.ToArray(), outputFilePath);
}
#endregion
#region combine and convert odp to single pdf
internal static void combineAndConvertOdpToPdf()
{
String[] files = new String[] { @"C:\demo1.odp", @"C:\demo2.odp", @"C:\demo3.odp" };
String outputFilePath = @"C:\output.pdf";
List<MemoryStream> streams = new List<MemoryStream>();
foreach (String file in files)
{
MemoryStream outputStream = new MemoryStream();
ODPDocument doc = new ODPDocument(file);
doc.ConvertToDocument(DocumentType.PDF, outputStream);
streams.Add(outputStream);
}
PDFDocument.CombineDocument(streams.ToArray(), outputFilePath);
}
#endregion
C# insert open office (odt, odp) file into pdf document, and create a new PDF file
#region insert odt to pdf
internal static void insertOdtToPdf()
{
String filePath = @"C:\demo.odt";
ODTDocument doc = new ODTDocument(filePath);
MemoryStream stream = new MemoryStream();
doc.ConvertToDocument(DocumentType.PDF, stream);
PDFDocument pdf = new PDFDocument(stream);
int pageCount = pdf.GetPageCount();
List<BasePage> pages = new List<BasePage>();
for (int i = 0; i < pageCount; i++)
{
pages.Add(pdf.GetPage(i));
}
String outputPdf = @"C:\output.pdf";
PDFDocument desDoc = new PDFDocument(outputPdf);
int insertLocation = 2;
desDoc.InsertPages(pages.ToArray(), insertLocation);
desDoc.Save(@"C:\desDocumcnet.pdf");
}
#endregion
#region insert odp to pdf
internal static void insertOdpToPdf()
{
String filePath = @"C:\demo.odp";
ODPDocument doc = new ODPDocument(filePath);
MemoryStream stream = new MemoryStream();
doc.ConvertToDocument(DocumentType.PDF, stream);
PDFDocument pdf = new PDFDocument(stream);
int pageCount = pdf.GetPageCount();
List<BasePage> pages = new List<BasePage>();
for (int i = 0; i < pageCount; i++)
{
pages.Add(pdf.GetPage(i));
}
String outputPdf = @"C:\output.pdf";
PDFDocument desDoc = new PDFDocument(outputPdf);
int insertLocation = 2;
desDoc.InsertPages(pages.ToArray(), insertLocation);
desDoc.Save(@"C:\desDocumcnet.pdf");
}
#endregion
|