Как преобразовать только таблицы из PDF в Excel на C# и .NET
Полный код
using System;
using System.IO;
namespace Sample
{
class Sample
{
static void Main(string[] args)
{
// Before starting, we recommend to get a free 100-day key:
// https://sautinsoft.com/start-for-free/
// Apply the key here:
// SautinSoft.PdfFocus.SetLicense("...");
string pathToPdf = Path.GetFullPath(@"..\..\..\Table.pdf");
string pathToExcel = "Result.xlsx";
// Convert only tables from PDF to XLS spreadsheet and skip all textual data.
SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();
// The output result will be in XLSX (Excel modern format) or in XLS (Excel 97-2003 Workbook)
f.ExcelOptions.Format = SautinSoft.PdfFocus.Format.Xlsx;
// f.ExcelOptions.Format = SautinSoft.PdfFocus.Format.Xls;
// 'true' = Convert all data to spreadsheet (tabular and even textual).
// 'false' = Skip textual data and convert only tabular (tables) data.
f.ExcelOptions.ConvertNonTabularDataToSpreadsheet = false;
// 'true' = Preserve original page layout.
// 'false' = Place tables before text.
f.ExcelOptions.PreservePageLayout = true;
// The information includes the names for the culture, the writing system,
// the calendar used, the sort order of strings, and formatting for dates and numbers.
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
ci.NumberFormat.NumberDecimalSeparator = ",";
ci.NumberFormat.NumberGroupSeparator = ".";
f.ExcelOptions.CultureInfo = ci;
f.OpenPdf(pathToPdf);
if (f.PageCount > 0)
{
int result = f.ToExcel(pathToExcel);
// Open the resulted Excel workbook.
if (result==0)
{
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(pathToExcel) { UseShellExecute = true });
}
}
}
}
}
Imports System.IO
Imports System.Drawing.Imaging
Imports System.Collections.Generic
Imports SautinSoft
Module Sample
Sub Main()
' Before starting, we recommend to get a free 100-day key:
' https://sautinsoft.com/start-for-free/
' Apply the key here
' SautinSoft.PdfFocus.SetLicense("...");
Dim pathToPdf As String = Path.GetFullPath("..\..\..\Table.pdf")
Dim pathToExcel As String = "Result.xlsx"
' Convert only tables from PDF to XLS spreadsheet and skip all textual data.
Dim f As New SautinSoft.PdfFocus()
' The output result will be in XLSX (Excel modern format) or in XLS (Excel 97-2003 Workbook)
f.ExcelOptions.Format = SautinSoft.PdfFocus.Format.Xlsx
' f.ExcelOptions.Format = SautinSoft.PdfFocus.Format.Xls
' 'true' = Convert all data to spreadsheet (tabular and even textual).
' 'false' = Skip textual data and convert only tabular (tables) data.
f.ExcelOptions.ConvertNonTabularDataToSpreadsheet = False
' 'true' = Preserve original page layout.
' 'false' = Place tables before text.
f.ExcelOptions.PreservePageLayout = True
' The information includes the names for the culture, the writing system,
' the calendar used, the sort order of strings, and formatting for dates and numbers.
Dim ci As New System.Globalization.CultureInfo("en-US")
ci.NumberFormat.NumberDecimalSeparator = ","
ci.NumberFormat.NumberGroupSeparator = "."
f.ExcelOptions.CultureInfo = ci
f.OpenPdf(pathToPdf)
If f.PageCount > 0 Then
Dim result As Integer = f.ToExcel(pathToExcel)
' Open the resulted Excel workbook.
If result = 0 Then
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(pathToExcel) With {.UseShellExecute = True})
End If
End If
End Sub
End Module
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу [email protected] или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: