2015-03-23 3 views
-1

Я хочу преобразовать PDF-файл в формат .XLS в ASP.NET с использованием C#. Можно ли так?Как преобразовать PDF-файл в формат .XLS

+2

Можно точно. Прочтите pdf-файл с помощью одной из библиотек чтения PDF для C# (PdfSharp), а затем создайте файл xls с данными, которые вы читаете с библиотекой для этого (используйте http://epplus.codeplex.com, порекомендуйте его). – okisinch

ответ

0

Для этой цели вы можете использовать библиотеку PdfSharp.

using System; 
using System.Diagnostics; 
using System.IO; 
using PdfSharp; 
using PdfSharp.Drawing; 
using PdfSharp.Pdf; 
using PdfSharp.Pdf.IO; 
using PdfSharp.Pdf.Advanced; 
namespace WorkOnPdfObjects 
{ 
class Program 
{ 
static void Main() 
{ 
const string filename = "Portable Document Format.pdf"; 
File.Copy(Path.Combine("../../../../../PDFs/", filename), 
Path.Combine(Directory.GetCurrentDirectory(), filename), true); 
PdfDocument document = PdfReader.Open(filename); 
PdfDictionary dict = new PdfDictionary(document); 
dict.Elements["/S"] = new PdfName("/GoTo"); 
PdfArray array = new PdfArray(document); 
dict.Elements["/D"] = array; 
PdfReference iref = PdfInternals.GetReference(document.Pages[2]); 
array.Elements.Add(iref); 
array.Elements.Add(new PdfName("/FitV")); 
array.Elements.Add(new PdfInteger(-32768)); 
document.Internals.AddObject(dict); 
document.Internals.Catalog.Elements["/OpenAction"] = 
PdfInternals.GetReference(dict); 
document.Save(filename); 
Process.Start(filename); 
} 
} 
} 

Я думаю, это должно помочь вам.

+0

на стороне сервера нажмите кнопку мыши. Я хочу это сделать. Есть ли другой вариант – Shree

+0

Да, конвертировать этот консольный скрипт в веб-службу и вызывать его @Shree – Karthikeyan

1

Это не для меня ясно, что вы точно пытаетесь достичь, но если бы я тебя, я бы разделить проблему на две части:

  1. Как я могу прочитать содержимое из файла PDF? Вы можете найти некоторые идеи here.
  2. Как создать и написать файл xls на C#? Уже есть отличный ответ here.

Если вы зададите более конкретные вопросы, вы сможете получить более качественные ответы.

+0

Я хочу конвертировать PDF-файл в файл .xls. Короче говоря, данные в файле PDf в табличной форме одинаковые данные, которые я хочу открыть в файл excel. – Shree

0

Решение на самом деле зависит от сложности PDF-документов, которые у вас есть. Проблема в том, что некоторые PDF-файлы можно легко конвертировать, просто записывая каждый текстовый объект один за другим, следуя их порядку внутри PDF, но этот порядок не гарантированно похож на внешний вид из-за дизайна формата PDF.

Есть несколько вариантов:

  • Использование iTextSharp (с открытым исходным кодом) для чтения PDF, а затем обрабатывать каждый текстовый объект из PDF и создать выход CSV на его основе (писать каждый текст объектов, заключенные с цитатой, отдельными их через запятую и отдельные строки символом прерывания строки), как в этом sample code.

    Вы также можете использовать мощный порт Apache PDFBox (Java) на [PDFBox.NET] вместо 3 (но это требует IKVM, Java VM реализованы в .NET)

  • В случае сложных PDF документов, может использовать специализированное коммерческое решение, такое как ByteScout PDF Extractor SDK, предназначенное для извлечения таблиц как CSV или XLS из PDF.

// Раскрытие: Я работаю ByteScout

Смежные вопросы