Результати пошуку за запитом: видеокурс c
Как использовать операторы преобразования 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>
Абстракция. Абстрактные классы и интерфейсы в C#
Автор: Олександр Шевчук
На видеоуроке будет рассмотрена возможность языка C# разделять определение класса между несколькими (двумя и/или более) файлами, которые называются частичными (partial) классами. Также Вы ознакомитесь с диаграммами классов, связями отношений между классами (ассоциацией, агрегацией, композицией, реализацией, самоассоциацией зависимости и другими).
Создание игр на C++ - Марио (платформер).
В этом уроке, практика - "Создание игр на C++: Марио (платформер)". Реализация игры - "Марио", классическая игра в жанре - "платформер", данные игры характеризуются пермещением по большей карте, прыжками по платформам, собиранием предметов, столкновение с врагами и т.д.
Развивайтесь вместе с ITVDN.
Уроки C# | Многопоточность. Часть 2.
<p>Данный урок, вторая часть уроков по теме - "Многопоточность в C#". В данной части - пул потоков, класс BackgroundWorker, класс Task. Посещайте видео блог ITVDN, где, несомненно, найдете для себя нужные и полезные уроки.</p>
Тимур Гуев — Обзор C# 6.0
Тимур Гуев разработчик Лаборатории Касперского с обзорным докладомC# новой версии 6.0 на конференции .NEXT 2014 Moscow. Краткая история развития C# и то к чему приведет нас шестая версия. Рассмотрим проблемы компилятора, методы устранения и аналоги. Переход на Roslyn, спасение компиляторов под новую платформу, в чем преимущества?
Нові функції C# 6.0
Автор: Редакция ITVDN
Введение
В первой статье мы рассказывали Вам про инициализацию авто свойств. На этой неделе мы расскажем Вам про функции строковой интерполяции/строкового сцепления (string interpolation/string concatenation).
Разработчики регулярно форматируют строковые значения при разработке программы. Как правило, используется метод String.Format(), который заменяет каждый форматируемый элемент в указанной строке текстовыми значениями из объектов. Зачастую это сбивает с толку и приводит к ошибкам.
// Старый способ строковой интерполяции с использованием оператора «+»
Console.WriteLine("\n Fullname : ” + p.FirstName + " " + p.LastName +
”\n Joining : " + p.Joining);
// Старый способ строкового сцепления с использованием string.Format
Console.Writeline(string.Format("\n Fullname : {0} {l}\n Joining : {2}",
p.FirstName, p.LastName, p.Joining));
В C# 6.0 Microsoft добавила новую функцию для ускорения процесса написания кода. Теперь Вы можете поместить выражение непосредственно в “string literal” для отображения значений в правильном форматировании.
Вот несколько примеров функций:
// Помещает выражение туда где оно нужно
Console.Writeline("\n Fullname : \{p.FirstName} \{p.LastName}\n Joining : \{p.Joining}");
// Дополнительные выравнивания и спецификации формата
Console.Writeline("\n Product: \{p.Name, 10} \n Price : \{p.Price : C2}");
// Условия для string literals с дополнительными строками в качестве контента
Console.WriteLine("\n Product: \{p.Name} \n Price : \{p.Price} \{(p.Price == 1 ? "rupee" : "rupees")}");
Ознакомиться и протестировать данный код можно, скачав Visual Studio 2015 и .NET 4.6
Надеемся, что вам понравилась данная функция. Разработчики все еще продолжают работать над ней, и в будущем они обещают добавить более простой способ обеспечения условий в строках. Возможно, данные функции будут добавлены в следующем релизе Visual Studio 2015.
Источник: http://www.kunal-chowdhury.com/2014/11/csharp-6-string-interpolation.html
C# Starter Express (для начинающих). Знакомство с языком C#
Автор: Олександр Шевчук
Данный урок предназначен для знакомства с экосистемой платформы .NET и средствами разработки, которые применяются при построении .NET-приложений. Авторы, Александр Шевчук и Константин Черный, проводят на занятии обзор языков программирования и технологий инфраструктуры .NET. Также рассматриваются простейшие примеры приложений, которые разрабатываются при помощи данной платформы: консольные приложения, приложения Windows Forms, WPF-приложения.