Результати пошуку за запитом: c
F# та функціональне програмування для C# розробників.
Автор: Альберт Ташу
<p>Функциональное программирование является одной из самых востребованных парадигм в современной разработке программного обеспечения.</p>
<p>На вебинаре мы познакомимся с представителем функциональных языков программирования для платформы .NET - F#. </p>
<p>Помимо этого, подходы и принципы функциональной парадигмы будут полезны C# разработчикам, так как с каждым релизом этот язык приобретает всё больше возможностей, направленных на применение функционального программирования.</p>
<p>На вебинаре мы сначала рассмотрим синтаксис и особенности языка F#, а затем затронем основные принципы функционального программирования и их применение при разработке на C#.</p>
<p><strong>План вебинара:</strong></p>
<ul>
<li>Введение в язык F#</li>
<li>Основы функционального программирования</li>
<li>Применение функциональных подходов при разработке на C#</li>
<li>Рефакторинг проекта на С#</li>
</ul>
<p><strong>Целевая аудитория:</strong><br />
.NET разработчики, которых интересует направление функционального программирования с помощью F#.</p>
Выполнение домашнего задания по курсу C# Стартовый
Автор: Костянтин Чорний
В данных видео уроках подробно разбираются решения домашних заданий из курса “C# Стартовый”.
C# Starter Express (для начинающих). Циклические конструкции
Автор: Олександр Шевчук
В данном видеоуроке Вы ознакомитесь с циклами языка C#, узнаете, как запускать циклы и как с ними работать.
Как использовать лямбда выражения и лямбда оператор в C#
Автор: Богдан Бондарук
В данном видео уроке C# How To рассматривается лямбда выражения и лямбда оператор.
Работа ограничения параметров типа new() в C#
Автор: Богдан Бондарук
В данном видео уроке C# How To рассматривается ограничение типов параметров с использованием new().
Использование ключевых слов add и remove в C#
Автор: Богдан Бондарук
В данном видео уроке C# How To рассматривается использование ключевых слов add и remove.
Как использовать операторы преобразования explicit и implicit в C#
Автор: Богдан Бондарук
В данном видео уроке C# How To рассматривается использование операторы преобразования explicit и implicit.
Модификаторы доступа internal и internal protected в C#
Автор: Богдан Бондарук
В данном видео уроке C# Ho To рассказывается об модификаторах доступа internal и internal protected.
Конвертування PDF у текст у C#
Автор: Редакция ITVDN
Как интерпретировать PDF-файлы
Существует несколько основных методов извлечения текста из PDF файлов в .NET:
Microsoft IFilter interface и Adobe IFilter implementation;
iTextSharp;
PDFBox.
Эти методы PDF-интерпретации неидеальны. Ниже подробно рассмотрим каждый из них.
Разбор PDF с помощью Adobe PDF IFilter
Для того, чтобы разобрать PDF-файлы с помощью IFilter, Вам понадобится:
Adobe Acrobat или Reader 7.0.5+ (или автономный Adobe PDF IFilter);
IFilter COM wrapper class.
Пример кода:
using IFilter;
// ...
public static string ExtractTextFromPdf(string path) {
return DefaultParser.Extract(path);
}
Загружаем пример проекта:
Интерпретация PDF-файлов, используя IFilter
Если Вы используете PDF IFilter, работующий с Adobe Acrobat Reader, Вам нужно переименовать процесс "filtdump.exe", иначе интерфейс IFilter вернёт код ошибки E_NOTIMPL. Детально смотрите на Parsing PDF Files using IFilter.
Недостатки:
1. Использование ненадежного COM Interop. Он обрабатывает интерфейс IFilter (сочетание IFilter COM и Adobe PDF IFilter может быть проблематичным).
2. Раздельная установка Adobe IFilter на целевой системе. Неудобно распространять индексное решение другим пользователям.
3. Нужно использовать имя файла "filtdump.exe" для Вашего приложения с последним PDF IFilter, прилагающимся к Acrobat Reader.
2. Разбор PDF с помощью iTextSharp
iTextSharp – .NET порт iText, PDF библиотеки для Java. Его основная функция – создание, а не чтение PDF-файлов, но он также позволяет извлекать текст из PDF-файлов.
Пример кода:
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
// ...
public static string ExtractTextFromPdf(string path)
{
using (PdfReader reader = new PdfReader(path))
{
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}
return text.ToString();
}
}
Загружаем пример проекта:
Интерпретация PDF-файлов с iTextSharp
Вы можете использовать LocationTextExtractionStrategy, чтобы получить более высокую точность.
public static string ExtractTextFromPdf(string path)
{
ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
using (PdfReader reader = new PdfReader(path))
{
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
string thePage = PdfTextExtractor.GetTextFromPage(reader, i, its);
string[] theLines = thePage.Split('\n');
foreach(var theLine in theLines)
{
text.AppendLine(theLine);
}
}
return text.ToString();
}
}
Недостатки iTextSharp:
Лицензирование, если Вы недовольны AGPL лицензией.
3. Разбор PDF с помощью PDFBox
PDFBox – другая Java PDF библиотека. Она может использоваться с оригинальной Java Lucene (LucenePDFDocument).
К счастью, существует .NET версия PDFBox, созданная с помощью IKVM.NET (загрузите PDFBox package).
Для использования PDFBox в .NET требуется:
1. Добавление ссылок:
IKVM.OpenJDK.Core.dll
IKVM.OpenJDK.SwingAWT.dll
pdfbox-1.8.7.dll
2. Копирование таких файлов каталога Bin:
commons-logging.dll
fontbox-1.8.7.dll
IKVM.OpenJDK.Text.dll
IKVM.OpenJDK.Util.dll
IKVM.Runtime.dll
Использование PDFBox для разбора файлов PDF достаточно простое:
using org.apache.pdfbox.pdmodel;
using org.apache.pdfbox.util;
// ...
private static string ExtractTextFromPdf(string path)
{
PDDocument doc = null;
try {
doc = PDDocument.load(path)
PDFTextStripper stripper = new PDFTextStripper();
return stripper.getText(doc);
}
finally {
if (doc != null) {
doc.close();
}
}
}
Загружаем пример проекта:
Как конвертировать PDF в текст в C# (.NET)
Как конвертировать PDF в текст VB (.NET)
Размер требуемой сборки составит почти 18 Мбайт:
IKVM.OpenJDK.Core.dll (4 MB)
IKVM.OpenJDK.SwingAWT.dll (6 MB)
pdfbox-1.8.7.dll (4 MB)
commons-logging.dll (82 kB)
fontbox-1.8.7.dll (180 kB)
IKVM.OpenJDK.Text.dll (800 kB)
IKVM.OpenJDK.Util.dll (2 MB)
IKVM.Runtime.dll (1 MB)
Недостатки:
1. IKVM.NET Dependencies (18 MB).
2. Скорость (особенно скорость IKVM.NET).
Источник: http://www.codeproject.com/Articles/12445/Converting-PDF-to-Text-in-C
Реалізація основних LINQ методів на C#
Автор: Олексій Глембицький
<p>Даний вебінар присвячений вдосконаленню навичок програмування мовою C# у напрямку розширення функціональності класу за допомогою методів розширення, використання делегатів та роботи з колекціями. Під час вебінару учасники матимуть можливість детально ознайомитися з концепцією методів розширення.</p>