WIADOMOSCI FIRMOWE

Produkty Iron Software i Visual Studio 2026: Kompletne przewodnik po integracji

Wprowadzenie

Wydanie Visual Studio 2026 stanowi znaczący kamień milowy we współczesnym rozwoju oprogramowania, wprowadzając to, co Microsoft nazywa pierwszym "AI-native Intelligent Developer Environment". Wydany 11 listopada 2025, Visual Studio 2026 przynosi ulepszony performance, odświeżony interfejs zgodny z systemem projektowym Fluent UI oraz kompleksowe wsparcie dla .NET 10 i C# 14. Dla deweloperów pracujących z zestawem bibliotek .NET od Iron Software — w tym IronPDF, IronOCR, IronBarcode i IronXL — ta najnowsza wersja stanowi ekscytującą okazję do wykorzystania nowoczesnych narzędzi deweloperskich wraz z potężnymi możliwościami przetwarzania dokumentów.

Według artykułu na Medium autorstwa Cosmina Vladutu, deweloperzy byli szczególnie pod wrażeniem zysków wydajności w Visual Studio 2026, zauważając, że "kompilacja była szybsza niż w wersji 2022, a pamięć była na poziomie 800–900 MB w porównaniu do 1200–1300 MB w 2022." Ta poprawiona wydajność tworzy idealne środowisko do pracy z bibliotekami przetwarzania dokumentów obsługującymi skomplikówane operacje.

W tym kompleksowym przewodniku zbadamy, jak pełna gama produktów Iron Software integruje się bezproblemowo z Visual Studio 2026, demonstrując praktyczne przykłady kodu i podkreślając korzyści płynące z tej potężnej kombinacji dla deweloperów .NET pracujących w różnych językach i frameworkach programowania.

Visual Studio 2026: Kluczowe funkcje dla deweloperów .NET

Visual Studio 2026

Ulepszone doświadczenia IDE przy użyciu systemu projektu Fluent UI

Visual Studio 2026 wprowadza zupełnie nowe doświadczenie użytkownika z odświeżonym interfejsem zgodnym z systemem projektowym Fluent UI firmy Microsoft. Nowe funkcje obejmują ulepszone kontrolki edytora, poprawioną czytelność wizualną i większą kontrolę nad ogólnym motywem IDE. Deweloperzy mogą teraz wybierać spośród 11 nowych barwionych motywów, umożliwiających większą personalizację środowiska kodowania, aby dopasować je do osobistych preferencji i zmniejszyć zmęczenie oczu w trakcie przedłużających się sesji projektowania.

Nowoczesne doświadczenie z ustawieniami zastępuje tradycyjne okno dialogowe Narzędzia > Opcje usprawnionym, przyjaznym dla użytkownika interfejsem. To przeprojektowane doświadczenie użytkownika ułatwia deweloperom .NET szybkie skonfigurowanie środowiska projektowego, niezależnie od tego, czy pracują nad aplikacjami webowymi, narzędziami do interfejsu wiersza poleceń, czy projektami wersji Enterprise.

Jak zauważył Elanchezhiyan P na Medium, IDE jest wyposażony w "przeprojektowanie Fluent UI z czystszymi układami i ikonami", co sprawia, że doświadczenie programistyczne jest bardziej intuicyjne i atrakcyjne wizualnie.

Integracja GitHub Copilot i rozwój oparty na AI

GitHub Copilot Chat

Jednym z najważniejszych postępów w Visual Studio 2026 jest głęboka integracja copilot w całym IDE. Agent copilot profiler może analizować użycie CPU, alokacje pamięci i zachowanie w czasie wykonywania, dostarczając lepszych odpowiedzi copilot i spostrzeżeń copilot, które pomagają deweloperom optymalizować ich kod. Pomoc copilot rozciąga się na różne aspekty rozwoju, w tym na eksploratora testów, gdzie deweloperzy mogą wykorzystywać AI do automatycznego generowania i naprawiania testów jednostkowych.

Nowe menu kontekstowe zapewnia szybki dostęp do działań Copilot, a funkcja adaptacyjnego wklejania automatycznie dostosowuje wklejany kod do kontekstu projektu. Te funkcje reprezentują fundamentalną zmianę w kierunku rozwoju opartego na AI, gdzie inteligentne sugestie pomagają deweloperom pisać kod szybciej bez poświęcania jakości kodu.

Ulepszenia wydajności i narzędzia kompilacji

Visual Studio 2026 dostarcza znaczące ulepszenia wydajności w całym zakresie. Projekty z setkami istniejących projektów teraz ładują się o 40% szybciej niż w Visual Studio 2022. Debugger pokazuje czasy uruchamiania o 30% szybciej przy użyciu F5, a pełne przebudowy przypominają bliżej budowy inkrementalne dzięki optymalizacjom zarówno w IDE, jak i w runtime'ie .NET 10.

Narzędzia kompilacji zostały oddzielone od samego IDE, co oznacza, że deweloperzy mogą aktualizować Visual Studio z automatycznymi miesięcznymi aktualizacjami bez wpływu na swoje kompilatory .NET lub C++. Takie rozdzielenie zapewnia stabilność procesów ciągłej integracji, a programiści mogą korzystać z najnowszych funkcji i poprawek błędów w środowisku IDE.

Ulepszenia w zakresie pokrycia kodu i testowania

Głównym przełomem w Visual Studio 2026 jest po raz pierwszy udostępnienie pokrycia kodu w wersjach Visual Studio Community i Professional. Wcześniej funkcja ta była ograniczona do wersji Enterprise, ale teraz programiści mogą analizować okno wyników pokrycia kodu, aby zrozumieć, które części ich kodu są sprawdzane przez testy jednostkowe. Ta demokratyzacja narzędzi testowych pomaga większej liczbie programistów zapewnić, że ich aplikacje są dobrze przetestowane przed wdrożeniem.

Opcja "Wybierz analizę pokrycia kodu" pozwala programistom uruchomić analizę pokrycia kodu dla wybranych testów bezpośrednio z menu testów, a wyniki są wyświetlane w oknie pokrycia kodu, pokazującym wartości procentowe dla każdego zestawu, klasy i metody. Visual Studio podświetla przetestowane wiersze bezpośrednio w edytorze kodu, co ułatwia wykrywanie luk w pokryciu testowym.

Produkty Iron Software: Potwierdzona kompatybilność z .NET 10

Strona główna Iron Software

Zanim przejdziemy do szczegółów implementacji, należy potwierdzić, że wszystkie produkty Iron Software w pełni obsługują .NET 10, który jest podstawową wersją frameworka dla Visual Studio 2026. Zgodnie z oficjalną stroną internetową Iron Software wszystkie ich produkty — w tym IronPDF, IronOCR, IronBarcode, IronXL, IronWord, IronPPT, IronQR, IronZIP, IronPrint i IronWebScraper — w pełni obsługują wdrożenia .NET 10, 9, 8, 7, 6, Framework, Core i Azure.

Ta wszechstronna kompatybilność gwarantuje, że programiści mogą korzystać z najnowszej wersji Visual Studio 2026 podczas pracy z bibliotekami przetwarzania dokumentów firmy Iron Software. Biblioteki obsługują różne języki programowania, w tym C#, VB.NET i F#, dzięki czemu są dostępne dla szerszej społeczności programistów .NET.

IronPDF: Generowanie i edycja plików PDF w Visual Studio 2026

Strona główna IronPDF

Pierwsze kroki z IronPDF

IronPDF to kompleksowa biblioteka C# do obsługi plików PDF, która pozwala programistom tworzyć, edytować i wyodrębniać zawartość plików PDF w projektach .NET. Dzięki obsłudze .NET 10 w Visual Studio 2026 oraz ulepszonym możliwościom debugowania praca z IronPDF staje się jeszcze bardziej wydajna.

Aby zainstalować IronPDF w projekcie Visual Studio 2026, otwórz konsolę NuGet Package Manager Console i uruchom:

Install-Package IronPdf
Install-Package IronPdf
SHELL

Lub użyj interfejsu CLI platformy .NET:

dotnet add package IronPdf
dotnet add package IronPdf
SHELL

Dowiedz się więcej o instalacji IronPDF

Konwersja HTML do PDF

Jedną z najpotężniejszych funkcji IronPDF jest konwersja HTML do PDF, która działa płynnie w ulepszonym środowisku programistycznym Visual Studio 2026. Oto praktyczny przykład:

using IronPdf;

// Create a new PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello from Visual Studio 2026!</h1><p>Generated with IronPDF</p>");

// Save the PDF
pdf.SaveAs("output.pdf");
using IronPdf;

// Create a new PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello from Visual Studio 2026!</h1><p>Generated with IronPDF</p>");

// Save the PDF
pdf.SaveAs("output.pdf");
Imports IronPdf

' Create a new PDF from HTML string
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello from Visual Studio 2026!</h1><p>Generated with IronPDF</p>")

' Save the PDF
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Wygenerowany plik PDF

Prosty wynik HTML do PDF

Dzięki funkcji zwracania wartości w linii kodu w Visual Studio 2026 oraz ulepszonemu debugowaniu wydajności programiści mogą dokładnie zobaczyć, co zwraca metoda RenderHtmlAsPdf w czasie rzeczywistym, bez konieczności przechodzenia krok po kroku przez kod. Wskazówki Copilota mogą również dostarczyć sugestii dotyczących optymalizacji operacji generowania plików PDF.

Zapoznaj się z konwersją HTML do PDF oraz różnymi formami HTML, które IronPDF może renderować do plików PDF, w naszej obszernej dokumentacji i poradnikach.

Praca z istniejącymi PDF-ami

IronPDF pozwala z łatwością edytować istniejące dokumenty PDF. Ulepszone elementy sterujące edytora w Visual Studio 2026 sprawiają, że pisanie tego kodu jest bardziej intuicyjne:

using IronPdf;

// Open an existing PDF
var pdf = PdfDocument.FromFile("existing.pdf");

// Add watermark
pdf.ApplyWatermark("<h2 style='color:red'>CONFIDENTIAL</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center);

// Extract text
string text = pdf.ExtractAllText();
Console.WriteLine(text);

// Save modified PDF
pdf.SaveAs("modified.pdf");
using IronPdf;

// Open an existing PDF
var pdf = PdfDocument.FromFile("existing.pdf");

// Add watermark
pdf.ApplyWatermark("<h2 style='color:red'>CONFIDENTIAL</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center);

// Extract text
string text = pdf.ExtractAllText();
Console.WriteLine(text);

// Save modified PDF
pdf.SaveAs("modified.pdf");
Imports IronPdf

' Open an existing PDF
Dim pdf = PdfDocument.FromFile("existing.pdf")

' Add watermark
pdf.ApplyWatermark("<h2 style='color:red'>CONFIDENTIAL</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center)

' Extract text
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)

' Save modified PDF
pdf.SaveAs("modified.pdf")
$vbLabelText   $csharpLabel

Plik PDF zmodyfikowany za pomocą programu Visual Studio Community 2026

PDF zmodyfikowany z znakiem wodnym

Nowa funkcja uruchamiania profilera w Visual Studio 2026 ułatwia identyfikację wąskich gardeł wydajności podczas przetwarzania dużych plików PDF. Programiści mogą korzystać z szablonu projektu benchmarkdotnet do pomiaru i optymalizacji operacji związanych z plikami PDF.

Formularze PDF i podpisy cyfrowe

IronPDF obsługuje formularze PDF i podpisy cyfrowe, niezbędne w aplikacjach Enterprise wymagających uwierzytelniania dokumentów:

using IronPdf;
using IronPdf.Signing;

// Open a PDF with form fields
var pdf = PdfDocument.FromFile("form.pdf");

// Fill form fields
pdf.Form.Fields["Name"].Value = "John Developer";
pdf.Form.Fields["Email"].Value = "john@example.com";

// Sign the PDF (using CSP-based certificates)
var signature = new PdfSignature("certificate.pfx", "password");
pdf.Sign(signature);

// Save the signed PDF
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;

// Open a PDF with form fields
var pdf = PdfDocument.FromFile("form.pdf");

// Fill form fields
pdf.Form.Fields["Name"].Value = "John Developer";
pdf.Form.Fields["Email"].Value = "john@example.com";

// Sign the PDF (using CSP-based certificates)
var signature = new PdfSignature("certificate.pfx", "password");
pdf.Sign(signature);

// Save the signed PDF
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing

' Open a PDF with form fields
Dim pdf = PdfDocument.FromFile("form.pdf")

' Fill form fields
pdf.Form.Fields("Name").Value = "John Developer"
pdf.Form.Fields("Email").Value = "john@example.com"

' Sign the PDF (using CSP-based certificates)
Dim signature = New PdfSignature("certificate.pfx", "password")
pdf.Sign(signature)

' Save the signed PDF
pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

Funkcje pokrycia kodu w Visual Studio 2026 pomagają zapewnić, że logika wypełniania formularzy i podpisywania jest odpowiednio testowana w różnych scenariuszach.

IronOCR: Optyczne rozpoznawanie znaków w Visual Studio 2026

Strona główna IronOCR

Konfiguracja IronOCR

IronOCR umożliwia programistom wykonywanie operacji OCR w aplikacjach .NET, obsługując ponad 125 języków. Instalacja IronOCR w Visual Studio 2026 jest prosta:

Install-Package IronOcr
Install-Package IronOcr
SHELL

Podstawowe operacje OCR

Dzięki złożonym narzędziom do debugowania w Visual Studio 2026 i lepszym odpowiedziom Copilota praca z OCR staje się łatwiejsza:

using IronOcr;

// Initialize OCR engine
var ocr = new IronTesseract();

// Perform OCR on an image
using (var input = new OcrInput())
{
    input.AddImage("document.png");

    // Process the image
    var result = ocr.Read(input);

    // Extract text
    string text = result.Text;
    Console.WriteLine(text);

    // Get confidence level
    double confidence = result.Confidence;
    Console.WriteLine($"Confidence: {confidence}%");
}
using IronOcr;

// Initialize OCR engine
var ocr = new IronTesseract();

// Perform OCR on an image
using (var input = new OcrInput())
{
    input.AddImage("document.png");

    // Process the image
    var result = ocr.Read(input);

    // Extract text
    string text = result.Text;
    Console.WriteLine(text);

    // Get confidence level
    double confidence = result.Confidence;
    Console.WriteLine($"Confidence: {confidence}%");
}
Imports IronOcr

' Initialize OCR engine
Dim ocr As New IronTesseract()

' Perform OCR on an image
Using input As New OcrInput()
    input.AddImage("document.png")

    ' Process the image
    Dim result = ocr.Read(input)

    ' Extract text
    Dim text As String = result.Text
    Console.WriteLine(text)

    ' Get confidence level
    Dim confidence As Double = result.Confidence
    Console.WriteLine($"Confidence: {confidence}%")
End Using
$vbLabelText   $csharpLabel

Wynik konsoli

Przykład wyniku OCR w Visual Studio 2026

Podświetlanie składni w Visual Studio 2026 sprawia, że kod OCR jest bardziej czytelny, a integracja z eksploratorem testów pozwala programistom pisać kompleksowe testy jednostkowe sprawdzające dokładność OCR.

Obsługa wielojęzycznego OCR

Obsługa wielu języków przez IronOCR doskonale współgra z ulepszoną obsługą języków w Visual Studio 2026:

using IronOcr;

// Initialize with specific language
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.Spanish;

// Add additional languages
ocr.AddSecondaryLanguage(OcrLanguage.French);

using (var input = new OcrInput())
{
    input.AddImage("multilingual-document.png");
    var result = ocr.Read(input);

    // Process multilingual text
    foreach (var page in result.Pages)
    {
        Console.WriteLine($"Page {page.PageNumber}: {page.Text}");
    }
}
using IronOcr;

// Initialize with specific language
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.Spanish;

// Add additional languages
ocr.AddSecondaryLanguage(OcrLanguage.French);

using (var input = new OcrInput())
{
    input.AddImage("multilingual-document.png");
    var result = ocr.Read(input);

    // Process multilingual text
    foreach (var page in result.Pages)
    {
        Console.WriteLine($"Page {page.PageNumber}: {page.Text}");
    }
}
Imports IronOcr

' Initialize with specific language
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.Spanish

' Add additional languages
ocr.AddSecondaryLanguage(OcrLanguage.French)

Using input As New OcrInput()
    input.AddImage("multilingual-document.png")
    Dim result = ocr.Read(input)

    ' Process multilingual text
    For Each page In result.Pages
        Console.WriteLine($"Page {page.PageNumber}: {page.Text}")
    Next
End Using
$vbLabelText   $csharpLabel

OCR z poprawą jakości obrazu

IronOCR zawiera funkcje poprawy jakości obrazu, które zwiększają dokładność OCR w przypadku skanów o niskiej jakości:

using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Add image with enhancement
    input.AddImage("poor-quality-scan.jpg");

    // Apply filters
    input.Deskew();
    input.DeNoise();
    input.Dilate();

    // Perform OCR
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Add image with enhancement
    input.AddImage("poor-quality-scan.jpg");

    // Apply filters
    input.Deskew();
    input.DeNoise();
    input.Dilate();

    // Perform OCR
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr

Dim ocr As New IronTesseract()

Using input As New OcrInput()
    ' Add image with enhancement
    input.AddImage("poor-quality-scan.jpg")

    ' Apply filters
    input.Deskew()
    input.DeNoise()
    input.Dilate()

    ' Perform OCR
    Dim result = ocr.Read(input)
    Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Funkcja debugowania instrukcji if w Visual Studio 2026 pomaga programistom dokładnie zrozumieć, które filtry ulepszeń są stosowane i jaki mają wpływ na wyniki OCR.

IronBarcode: Przetwarzanie kodów kreskowych i kodów QR

Strona główna IronBarcode

Instalacja IronBarcode

IronBarcode zapewnia kompleksowe możliwości odczytu i zapisu kodów kreskowych dla aplikacji .NET:

Install-Package IronBarcode
Install-Package IronBarcode
SHELL

Rozpocznij pracę z IronBarcode

Odczytywanie BarCodes z obrazów

Narzędzia do obsługi plików w Visual Studio 2026 ułatwiają pracę z plikami graficznymi zawierającymi BARCODES:

using IronBarCode;

// Read barcode from image file
var results = BarcodeReader.Read("barcode-image.png");

foreach (var result in results)
{
    Console.WriteLine($"Barcode Type: {result.BarcodeType}");
    Console.WriteLine($"Value: {result.Value}");
}
using IronBarCode;

// Read barcode from image file
var results = BarcodeReader.Read("barcode-image.png");

foreach (var result in results)
{
    Console.WriteLine($"Barcode Type: {result.BarcodeType}");
    Console.WriteLine($"Value: {result.Value}");
}
Imports IronBarCode

' Read barcode from image file
Dim results = BarcodeReader.Read("barcode-image.png")

For Each result In results
    Console.WriteLine($"Barcode Type: {result.BarcodeType}")
    Console.WriteLine($"Value: {result.Value}")
Next
$vbLabelText   $csharpLabel

Wynik działania konsoli IronBarcode

Informacje wyjściowe z odczytu kodu kreskowego za pomocą IronBarcode

Zwiększona wydajność w Visual Studio 2026 zapewnia szybkie wykonywanie operacji odczytu kodów kreskowych, nawet podczas przetwarzania wielu obrazów w operacjach wsadowych.

Generowanie BarCodes

Tworzenie kodów kreskowych za pomocą IronBarcode jest proste, a odświeżony interfejs w Visual Studio 2026 sprawia, że praca nad projektem jest przyjemna:

using IronBarCode;
using IronSoftware.Drawing;

// Generate a QR code
var qrCode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.QRCode);

// Customize appearance
qrCode.SetMargins(10);
qrCode.AddBarcodeValueTextBelowBarcode();
qrCode.ChangeBarCodeColor(Color.Blue);

// Save as image
qrCode.SaveAsImage("qr-code.png");

// Or save as PDF
qrCode.SaveAsPdf("qr-code.pdf");
using IronBarCode;
using IronSoftware.Drawing;

// Generate a QR code
var qrCode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.QRCode);

// Customize appearance
qrCode.SetMargins(10);
qrCode.AddBarcodeValueTextBelowBarcode();
qrCode.ChangeBarCodeColor(Color.Blue);

// Save as image
qrCode.SaveAsImage("qr-code.png");

// Or save as PDF
qrCode.SaveAsPdf("qr-code.pdf");
Imports IronBarCode
Imports IronSoftware.Drawing

' Generate a QR code
Dim qrCode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.QRCode)

' Customize appearance
qrCode.SetMargins(10)
qrCode.AddBarcodeValueTextBelowBarcode()
qrCode.ChangeBarCodeColor(Color.Blue)

' Save as image
qrCode.SaveAsImage("qr-code.png")

' Or save as PDF
qrCode.SaveAsPdf("qr-code.pdf")
$vbLabelText   $csharpLabel

Utworzony kod QR

Kod QR utworzony za pomocą IronBarcode

Zaawansowane odczytywanie BarCode z wykrywaniem ML

IronBarcode obsługuje wykrywanie oparte na uczeniu maszynowym w celu zwiększenia dokładności:

using IronBarCode;

// Configure barcode reader with ML detection
var options = new BarcodeReaderOptions
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
    CropArea = new System.Drawing.Rectangle(0, 0, 500, 500),
    UseCode39ExtendedMode = true
};

// Read barcodes with options
var results = BarcodeReader.Read("multi-barcode-image.png", options);

foreach (var barcode in results)
{
    Console.WriteLine($"Found: {barcode.BarcodeType} = {barcode.Value}");
}
using IronBarCode;

// Configure barcode reader with ML detection
var options = new BarcodeReaderOptions
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
    CropArea = new System.Drawing.Rectangle(0, 0, 500, 500),
    UseCode39ExtendedMode = true
};

// Read barcodes with options
var results = BarcodeReader.Read("multi-barcode-image.png", options);

foreach (var barcode in results)
{
    Console.WriteLine($"Found: {barcode.BarcodeType} = {barcode.Value}");
}
Imports IronBarCode
Imports System.Drawing

' Configure barcode reader with ML detection
Dim options As New BarcodeReaderOptions With {
    .ExpectMultipleBarcodes = True,
    .ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
    .CropArea = New Rectangle(0, 0, 500, 500),
    .UseCode39ExtendedMode = True
}

' Read barcodes with options
Dim results = BarcodeReader.Read("multi-barcode-image.png", options)

For Each barcode In results
    Console.WriteLine($"Found: {barcode.BarcodeType} = {barcode.Value}")
Next
$vbLabelText   $csharpLabel

Narzędzie do alokacji pamięci w Visual Studio 2026 pomaga programistom zoptymalizować wykorzystanie pamięci podczas przetwarzania dużych partii obrazów BarCode.

IronXL: Przetwarzanie plików Excel bez integracji z pakietem Office

Strona główna IronXL

Pierwsze kroki z IronXL

IronXL pozwala programistom na odczytywanie, generowanie i edycję plików Excel bez konieczności posiadania pakietu Microsoft Office lub Excel Interop:

Rozpocznij pracę z IronXL

Tworzenie skoroszytów programu Excel

Dzięki szablonom projektów Visual Studio 2026 i ulepszonemu edytorowi kodu tworzenie plików Excel staje się dziecinnie proste:

using IronXL;

// Create a new Excel workbook
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.DefaultWorkSheet;

// Add data
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Quantity";
sheet["C1"].Value = "Price";

// Add rows of data
sheet["A2"].Value = "IronPDF License";
sheet["B2"].Value = 1;
sheet["C2"].Value = 599;

sheet["A3"].Value = "IronOCR License";
sheet["B3"].Value = 1;
sheet["C3"].Value = 499;

// Add formula
sheet["C4"].Formula = "=SUM(C2:C3)";

// Save the workbook
workbook.SaveAs("products.xlsx");
using IronXL;

// Create a new Excel workbook
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.DefaultWorkSheet;

// Add data
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Quantity";
sheet["C1"].Value = "Price";

// Add rows of data
sheet["A2"].Value = "IronPDF License";
sheet["B2"].Value = 1;
sheet["C2"].Value = 599;

sheet["A3"].Value = "IronOCR License";
sheet["B3"].Value = 1;
sheet["C3"].Value = 499;

// Add formula
sheet["C4"].Formula = "=SUM(C2:C3)";

// Save the workbook
workbook.SaveAs("products.xlsx");
Imports IronXL

' Create a new Excel workbook
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' Add data
sheet("A1").Value = "Product"
sheet("B1").Value = "Quantity"
sheet("C1").Value = "Price"

' Add rows of data
sheet("A2").Value = "IronPDF License"
sheet("B2").Value = 1
sheet("C2").Value = 599

sheet("A3").Value = "IronOCR License"
sheet("B3").Value = 1
sheet("C3").Value = 499

' Add formula
sheet("C4").Formula = "=SUM(C2:C3)"

' Save the workbook
workbook.SaveAs("products.xlsx")
$vbLabelText   $csharpLabel

Wygenerowany plik Excel

Przykładowy wynik pliku Excel

Przejrzystość wizualna zapewniona przez ulepszone podświetlanie składni w Visual Studio 2026 sprawia, że kod do manipulacji danymi w Excelu jest łatwiejszy do odczytania i utrzymania.

Odczytywanie istniejących plików Excel

IronXL może efektywnie odczytywać dane z istniejących plików Excel:

using IronXL;

// Load existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Sales");

// Read cells
foreach (var row in sheet.Rows)
{
    foreach (var cell in row)
    {
        Console.Write($"{cell.Value}\t");
    }
    Console.WriteLine();
}

// Access specific cell
var totalSales = sheet["D10"].DoubleValue;
Console.WriteLine($"Total Sales: ${totalSales:F2}");
using IronXL;

// Load existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Sales");

// Read cells
foreach (var row in sheet.Rows)
{
    foreach (var cell in row)
    {
        Console.Write($"{cell.Value}\t");
    }
    Console.WriteLine();
}

// Access specific cell
var totalSales = sheet["D10"].DoubleValue;
Console.WriteLine($"Total Sales: ${totalSales:F2}");
Imports IronXL

' Load existing Excel file
Dim workbook As WorkBook = WorkBook.Load("sales-data.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("Sales")

' Read cells
For Each row In sheet.Rows
    For Each cell In row
        Console.Write($"{cell.Value}" & vbTab)
    Next
    Console.WriteLine()
Next

' Access specific cell
Dim totalSales = sheet("D10").DoubleValue
Console.WriteLine($"Total Sales: ${totalSales:F2}")
$vbLabelText   $csharpLabel

Wynik konsoli

Wyodrębnione dane sprzedażowe z istniejącego pliku Excel

Optymalizacja alokacji tablic o zerowej długości w Visual Studio 2026 pomaga zapewnić efektywne wykorzystanie pamięci podczas odczytu dużych plików Excel.

Praca z zakresami i formatowaniem w programie Excel

IronXL obsługuje zaawansowane operacje w programie Excel, w tym zakresy, formatowanie i formuły:

using IronXL;

WorkBook workbook = WorkBook.Load(@"C:\Users\kyess\Desktop\Desktop\Code-Projects\Assets\financial_report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Select a range
var range = sheet["A1:D1"];

range.Style.Font.Bold = true;
range.Style.Font.Height = 12; 
range.Style.SetBackgroundColor("#0066CC");
range.Style.Font.SetColor("#FFFFFF");

for (int i = 0; i <= 3; i++)
{
    sheet.AutoSizeColumn(i);
}

// Save changes
workbook.SaveAs("formatted-report.xlsx");
using IronXL;

WorkBook workbook = WorkBook.Load(@"C:\Users\kyess\Desktop\Desktop\Code-Projects\Assets\financial_report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Select a range
var range = sheet["A1:D1"];

range.Style.Font.Bold = true;
range.Style.Font.Height = 12; 
range.Style.SetBackgroundColor("#0066CC");
range.Style.Font.SetColor("#FFFFFF");

for (int i = 0; i <= 3; i++)
{
    sheet.AutoSizeColumn(i);
}

// Save changes
workbook.SaveAs("formatted-report.xlsx");
Imports IronXL

Dim workbook As WorkBook = WorkBook.Load("C:\Users\kyess\Desktop\Desktop\Code-Projects\Assets\financial_report.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' Select a range
Dim range = sheet("A1:D1")

range.Style.Font.Bold = True
range.Style.Font.Height = 12
range.Style.SetBackgroundColor("#0066CC")
range.Style.Font.SetColor("#FFFFFF")

For i As Integer = 0 To 3
    sheet.AutoSizeColumn(i)
Next

' Save changes
workbook.SaveAs("formatted-report.xlsx")
$vbLabelText   $csharpLabel

Przykładowy wynik z formatowaniem

Sformatowany arkusz kalkulacyjny Excel

Integracja z funkcjami programu Visual Studio 2026

Wykorzystanie GitHub Copilot z bibliotekami Iron Software

Generowanie działającego kodu za pomocą Copilot

Głęboka integracja GitHub Copilot w Visual Studio 2026 zapewnia inteligentne sugestie kodu podczas pracy z produktami Iron Software. Copilot może:

  • Generowanie kompletnego kodu renderującego IronPDF na podstawie opisów w języku naturalnym

  • Zaproponuj optymalne ustawienia OCR w oparciu o jakość obrazu

  • Zalecane typy BarCode i parametry kodowania

  • Tworzenie formuł w Excelu i logiki przetwarzania danych

Wystarczy opisać, co chcesz osiągnąć, a Copilot wygeneruje odpowiedni kod przy użyciu bibliotek Iron Software. Obsługa edytora Markdown ułatwia również dokumentówanie kodu za pomocą przykładów.

Debugowanie aplikacji Iron Software

Ulepszone funkcje debugowania w Visual Studio 2026 znacznie poprawiają komfort pracy podczas przetwarzania dokumentów:

using IronPdf;
using System.Diagnostics;

public class PdfProcessor
{
    public void ProcessDocument(string htmlContent, string outputPath)
    {
        // Visual Studio 2026 shows inline values here
        var renderer = new ChromePdfRenderer();

        // Inline if-statement debugging shows evaluation results
        if (string.IsNullOrEmpty(htmlContent))
        {
            throw new ArgumentException("HTML content cannot be empty");
        }

        // Inline post-return values show the PDF object immediately
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Copilot can analyze unexpected results
        var pageCount = pdf.PageCount;
        Debug.WriteLine($"Generated PDF with {pageCount} pages");

        pdf.SaveAs(outputPath);
    }
}
using IronPdf;
using System.Diagnostics;

public class PdfProcessor
{
    public void ProcessDocument(string htmlContent, string outputPath)
    {
        // Visual Studio 2026 shows inline values here
        var renderer = new ChromePdfRenderer();

        // Inline if-statement debugging shows evaluation results
        if (string.IsNullOrEmpty(htmlContent))
        {
            throw new ArgumentException("HTML content cannot be empty");
        }

        // Inline post-return values show the PDF object immediately
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Copilot can analyze unexpected results
        var pageCount = pdf.PageCount;
        Debug.WriteLine($"Generated PDF with {pageCount} pages");

        pdf.SaveAs(outputPath);
    }
}
Imports IronPdf
Imports System.Diagnostics

Public Class PdfProcessor
    Public Sub ProcessDocument(htmlContent As String, outputPath As String)
        ' Visual Studio 2026 shows inline values here
        Dim renderer = New ChromePdfRenderer()

        ' Inline if-statement debugging shows evaluation results
        If String.IsNullOrEmpty(htmlContent) Then
            Throw New ArgumentException("HTML content cannot be empty")
        End If

        ' Inline post-return values show the PDF object immediately
        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

        ' Copilot can analyze unexpected results
        Dim pageCount = pdf.PageCount
        Debug.WriteLine($"Generated PDF with {pageCount} pages")

        pdf.SaveAs(outputPath)
    End Sub
End Class
$vbLabelText   $csharpLabel

Funkcje debugowania wbudowanego w połączeniu z analizą Copilot ułatwiają zrozumieniuiuiuiuie procesów przetwarzania dokumentów i szybką identyfikację problemów.

Profilowanie wydajności za pomocą oprogramowania Iron Software

Agent profiler copilot w Visual Studio 2026 może analizować wydajność podczas pracy z bibliotekami Iron Software:

using IronPdf;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;

[MemoryDiagnoser]
public class PdfBenchmarks
{
    private const string SampleHtml = "<html><body><h1>Test Document</h1></body></html>";

    [Benchmark]
    public void RenderSimplePdf()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(SampleHtml);
    }

    [Benchmark]
    public void RenderComplexPdf()
    {
        var renderer = new ChromePdfRenderer();
        var complexHtml = GenerateComplexHtml();
        var pdf = renderer.RenderHtmlAsPdf(complexHtml);
    }

    private string GenerateComplexHtml()
    {
        // Generate HTML with tables, images, etc.
        return "<html><body><table>...</table></body></html>";
    }
}

partial class Program
{
    static void Main(string[] args)
    {
        var summary = BenchmarkRunner.Run<PdfBenchmarks>();
    }
}
using IronPdf;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;

[MemoryDiagnoser]
public class PdfBenchmarks
{
    private const string SampleHtml = "<html><body><h1>Test Document</h1></body></html>";

    [Benchmark]
    public void RenderSimplePdf()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(SampleHtml);
    }

    [Benchmark]
    public void RenderComplexPdf()
    {
        var renderer = new ChromePdfRenderer();
        var complexHtml = GenerateComplexHtml();
        var pdf = renderer.RenderHtmlAsPdf(complexHtml);
    }

    private string GenerateComplexHtml()
    {
        // Generate HTML with tables, images, etc.
        return "<html><body><table>...</table></body></html>";
    }
}

partial class Program
{
    static void Main(string[] args)
    {
        var summary = BenchmarkRunner.Run<PdfBenchmarks>();
    }
}
Imports IronPdf
Imports BenchmarkDotNet.Attributes
Imports BenchmarkDotNet.Running

<MemoryDiagnoser>
Public Class PdfBenchmarks
    Private Const SampleHtml As String = "<html><body><h1>Test Document</h1></body></html>"

    <Benchmark>
    Public Sub RenderSimplePdf()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(SampleHtml)
    End Sub

    <Benchmark>
    Public Sub RenderComplexPdf()
        Dim renderer = New ChromePdfRenderer()
        Dim complexHtml = GenerateComplexHtml()
        Dim pdf = renderer.RenderHtmlAsPdf(complexHtml)
    End Sub

    Private Function GenerateComplexHtml() As String
        ' Generate HTML with tables, images, etc.
        Return "<html><body><table>...</table></body></html>"
    End Function
End Class

Partial Class Program
    Shared Sub Main(ByVal args As String())
        Dim summary = BenchmarkRunner.Run(Of PdfBenchmarks)()
    End Sub
End Class
$vbLabelText   $csharpLabel

Użyj szablonu projektu benchmarkdotnet w Visual Studio 2026 do tworzenia testów wydajnościowych i wykorzystaj profiler do identyfikacji możliwości optymalizacji.

Integracja usług w chmurze

Produkty Iron Software płynnie współpracują z usługami w chmurze wdrażanymi z poziomu Visual Studio 2026:

using Microsoft.Azure.Functions;
using IronPdf;
using IronOcr;

public class DocumentProcessor
{
    [FunctionName("ConvertHtmlToPdf")]
    public async Task<IActionResult> ConvertToPdf(
        [HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req)
    {
        string html = await new StreamReader(req.Body).ReadToEndAsync();

        // Configure IronPDF for Azure
        License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE");

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);

        return new FileContentResult(pdf.BinaryData, "application/pdf")
        {
            FileDownloadName = "document.pdf"
        };
    }

    [FunctionName("ExtractTextFromImage")]
    public async Task<IActionResult> ExtractText(
        [HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req)
    {
        var imageBytes = await ReadImageBytes(req);

        License.LicenseKey = Environment.GetEnvironmentVariable("IRONOCR_LICENSE");

        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            input.AddImage(imageBytes);
            var result = ocr.Read(input);

            return new OkObjectResult(new { text = result.Text });
        }
    }
}
using Microsoft.Azure.Functions;
using IronPdf;
using IronOcr;

public class DocumentProcessor
{
    [FunctionName("ConvertHtmlToPdf")]
    public async Task<IActionResult> ConvertToPdf(
        [HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req)
    {
        string html = await new StreamReader(req.Body).ReadToEndAsync();

        // Configure IronPDF for Azure
        License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE");

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);

        return new FileContentResult(pdf.BinaryData, "application/pdf")
        {
            FileDownloadName = "document.pdf"
        };
    }

    [FunctionName("ExtractTextFromImage")]
    public async Task<IActionResult> ExtractText(
        [HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req)
    {
        var imageBytes = await ReadImageBytes(req);

        License.LicenseKey = Environment.GetEnvironmentVariable("IRONOCR_LICENSE");

        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            input.AddImage(imageBytes);
            var result = ocr.Read(input);

            return new OkObjectResult(new { text = result.Text });
        }
    }
}
Imports Microsoft.Azure.Functions
Imports IronPdf
Imports IronOcr
Imports System.IO
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Http
Imports System.Threading.Tasks

Public Class DocumentProcessor

    <FunctionName("ConvertHtmlToPdf")>
    Public Async Function ConvertToPdf(
        <HttpTrigger(AuthorizationLevel.Function, "post")> req As HttpRequest) As Task(Of IActionResult)

        Dim html As String = Await New StreamReader(req.Body).ReadToEndAsync()

        ' Configure IronPDF for Azure
        License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE")

        Dim renderer As New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(html)

        Return New FileContentResult(pdf.BinaryData, "application/pdf") With {
            .FileDownloadName = "document.pdf"
        }
    End Function

    <FunctionName("ExtractTextFromImage")>
    Public Async Function ExtractText(
        <HttpTrigger(AuthorizationLevel.Function, "post")> req As HttpRequest) As Task(Of IActionResult)

        Dim imageBytes = Await ReadImageBytes(req)

        License.LicenseKey = Environment.GetEnvironmentVariable("IRONOCR_LICENSE")

        Dim ocr As New IronTesseract()
        Using input As New OcrInput()
            input.AddImage(imageBytes)
            Dim result = ocr.Read(input)

            Return New OkObjectResult(New With {.text = result.Text})
        End Using
    End Function

    Private Async Function ReadImageBytes(req As HttpRequest) As Task(Of Byte())
        Using memoryStream As New MemoryStream()
            Await req.Body.CopyToAsync(memoryStream)
            Return memoryStream.ToArray()
        End Using
    End Function

End Class
$vbLabelText   $csharpLabel

Rozszerzona obsługa usług w chmurze w Visual Studio 2026 sprawia, że wdrażanie aplikacji opartych na oprogramowaniu Iron Software w Azure jest proste.

Testowanie aplikacji Iron Software w Visual Studio 2026

Testy jednostkowe z pokryciem kodu

Funkcje pokrycia kodu w Visual Studio 2026 w wersjach Community i Professional umożliwiają dokładne testowanie integracji oprogramowania Iron Software:

using Microsoft.VisualStudio.TestTools.UnitTesting;
using IronPdf;
using System.IO;

[TestClass]
public class PdfGenerationTests
{
    [TestMethod]
    public void TestSimpleHtmlToPdf()
    {
        // Arrange
        var renderer = new ChromePdfRenderer();
        var html = "<h1>Test</h1>";

        // Act
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Assert
        Assert.IsNotNull(pdf);
        Assert.IsTrue(pdf.PageCount > 0);
        Assert.IsTrue(pdf.BinaryData.Length > 0);
    }

    [TestMethod]
    public void TestPdfExtraction()
    {
        // Arrange
        var html = "<html><body><p>Sample text for extraction</p></body></html>";
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Act
        var extractedText = pdf.ExtractAllText();

        // Assert
        Assert.IsTrue(extractedText.Contains("Sample text"));
    }

    [TestMethod]
    [DataRow("document1.html")]
    [DataRow("document2.html")]
    [DataRow("document3.html")]
    public void TestBatchPdfGeneration(string filename)
    {
        // Arrange
        var html = File.ReadAllText(filename);
        var renderer = new ChromePdfRenderer();

        // Act
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Assert
        Assert.IsNotNull(pdf);
        Assert.IsTrue(pdf.PageCount > 0);
    }
}
using Microsoft.VisualStudio.TestTools.UnitTesting;
using IronPdf;
using System.IO;

[TestClass]
public class PdfGenerationTests
{
    [TestMethod]
    public void TestSimpleHtmlToPdf()
    {
        // Arrange
        var renderer = new ChromePdfRenderer();
        var html = "<h1>Test</h1>";

        // Act
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Assert
        Assert.IsNotNull(pdf);
        Assert.IsTrue(pdf.PageCount > 0);
        Assert.IsTrue(pdf.BinaryData.Length > 0);
    }

    [TestMethod]
    public void TestPdfExtraction()
    {
        // Arrange
        var html = "<html><body><p>Sample text for extraction</p></body></html>";
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Act
        var extractedText = pdf.ExtractAllText();

        // Assert
        Assert.IsTrue(extractedText.Contains("Sample text"));
    }

    [TestMethod]
    [DataRow("document1.html")]
    [DataRow("document2.html")]
    [DataRow("document3.html")]
    public void TestBatchPdfGeneration(string filename)
    {
        // Arrange
        var html = File.ReadAllText(filename);
        var renderer = new ChromePdfRenderer();

        // Act
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Assert
        Assert.IsNotNull(pdf);
        Assert.IsTrue(pdf.PageCount > 0);
    }
}
Imports Microsoft.VisualStudio.TestTools.UnitTesting
Imports IronPdf
Imports System.IO

<TestClass>
Public Class PdfGenerationTests

    <TestMethod>
    Public Sub TestSimpleHtmlToPdf()
        ' Arrange
        Dim renderer As New ChromePdfRenderer()
        Dim html As String = "<h1>Test</h1>"

        ' Act
        Dim pdf = renderer.RenderHtmlAsPdf(html)

        ' Assert
        Assert.IsNotNull(pdf)
        Assert.IsTrue(pdf.PageCount > 0)
        Assert.IsTrue(pdf.BinaryData.Length > 0)
    End Sub

    <TestMethod>
    Public Sub TestPdfExtraction()
        ' Arrange
        Dim html As String = "<html><body><p>Sample text for extraction</p></body></html>"
        Dim renderer As New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(html)

        ' Act
        Dim extractedText As String = pdf.ExtractAllText()

        ' Assert
        Assert.IsTrue(extractedText.Contains("Sample text"))
    End Sub

    <TestMethod>
    <DataRow("document1.html")>
    <DataRow("document2.html")>
    <DataRow("document3.html")>
    Public Sub TestBatchPdfGeneration(filename As String)
        ' Arrange
        Dim html As String = File.ReadAllText(filename)
        Dim renderer As New ChromePdfRenderer()

        ' Act
        Dim pdf = renderer.RenderHtmlAsPdf(html)

        ' Assert
        Assert.IsNotNull(pdf)
        Assert.IsTrue(pdf.PageCount > 0)
    End Sub

End Class
$vbLabelText   $csharpLabel

Uruchom te testy za pomocą eksploratora testów i przeanalizuj wyniki w oknie wyników pokrycia kodu, aby zapewnić kompleksowe pokrycie testowe logiki przetwarzania dokumentów.

Testy integracyjne

W przypadku testów integracyjnych obejmujących wiele produktów Iron Software:

using Microsoft.VisualStudio.TestTools.UnitTesting;
using IronPdf;
using IronOcr;
using IronBarCode;

[TestClass]
public class DocumentWorkflowTests
{
    [TestMethod]
    public void TestCompleteDocumentWorkflow()
    {
        // Step 1: Generate PDF with barcode
        var renderer = new ChromePdfRenderer();
        var barcode = BarcodeWriter.CreateBarcode("DOC-12345", BarcodeEncoding.QRCode);

        var html = $@"
            <html>
            <body>
                <h1>Document #DOC-12345</h1>
                <img src='{barcode.ToDataUrl()}' />
                <p>This is a test document with a QR code.</p>
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("test-document.pdf");

        // Step 2: Convert PDF to image
        pdf.RasterizeToImageFiles("test-page-*.png");

        // Step 3: Read barcode from image
        var barcodeResults = BarcodeReader.Read("test-page-1.png");

        // Step 4: Verify barcode content
        Assert.IsTrue(barcodeResults.Any());
        Assert.AreEqual("DOC-12345", barcodeResults.First().Value);

        // Step 5: OCR the document
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            input.AddImage("test-page-1.png");
            var ocrResult = ocr.Read(input);

            Assert.IsTrue(ocrResult.Text.Contains("Document"));
        }
    }
}
using Microsoft.VisualStudio.TestTools.UnitTesting;
using IronPdf;
using IronOcr;
using IronBarCode;

[TestClass]
public class DocumentWorkflowTests
{
    [TestMethod]
    public void TestCompleteDocumentWorkflow()
    {
        // Step 1: Generate PDF with barcode
        var renderer = new ChromePdfRenderer();
        var barcode = BarcodeWriter.CreateBarcode("DOC-12345", BarcodeEncoding.QRCode);

        var html = $@"
            <html>
            <body>
                <h1>Document #DOC-12345</h1>
                <img src='{barcode.ToDataUrl()}' />
                <p>This is a test document with a QR code.</p>
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("test-document.pdf");

        // Step 2: Convert PDF to image
        pdf.RasterizeToImageFiles("test-page-*.png");

        // Step 3: Read barcode from image
        var barcodeResults = BarcodeReader.Read("test-page-1.png");

        // Step 4: Verify barcode content
        Assert.IsTrue(barcodeResults.Any());
        Assert.AreEqual("DOC-12345", barcodeResults.First().Value);

        // Step 5: OCR the document
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            input.AddImage("test-page-1.png");
            var ocrResult = ocr.Read(input);

            Assert.IsTrue(ocrResult.Text.Contains("Document"));
        }
    }
}
Imports Microsoft.VisualStudio.TestTools.UnitTesting
Imports IronPdf
Imports IronOcr
Imports IronBarCode

<TestClass>
Public Class DocumentWorkflowTests

    <TestMethod>
    Public Sub TestCompleteDocumentWorkflow()
        ' Step 1: Generate PDF with barcode
        Dim renderer As New ChromePdfRenderer()
        Dim barcode = BarcodeWriter.CreateBarcode("DOC-12345", BarcodeEncoding.QRCode)

        Dim html As String = $"
            <html>
            <body>
                <h1>Document #DOC-12345</h1>
                <img src='{barcode.ToDataUrl()}' />
                <p>This is a test document with a QR code.</p>
            </body>
            </html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("test-document.pdf")

        ' Step 2: Convert PDF to image
        pdf.RasterizeToImageFiles("test-page-*.png")

        ' Step 3: Read barcode from image
        Dim barcodeResults = BarcodeReader.Read("test-page-1.png")

        ' Step 4: Verify barcode content
        Assert.IsTrue(barcodeResults.Any())
        Assert.AreEqual("DOC-12345", barcodeResults.First().Value)

        ' Step 5: OCR the document
        Dim ocr As New IronTesseract()
        Using input As New OcrInput()
            input.AddImage("test-page-1.png")
            Dim ocrResult = ocr.Read(input)

            Assert.IsTrue(ocrResult.Text.Contains("Document"))
        End Using
    End Sub

End Class
$vbLabelText   $csharpLabel

Funkcja niestandardowych argumentów w Visual Studio 2026 pozwala na przekazywanie różnych konfiguracji testowych podczas uruchamiania testów integracyjnych.

Najlepsze praktyki dotyczące korzystania z oprogramowania Iron Software w Visual Studio 2026

Szablony i struktura projektu

Podczas rozpoczynania nowego projektu w Visual Studio 2026, który wykorzystuje produkty Iron Software:

  1. Utwórz projekt, korzystając z odpowiedniego szablonu projektu .NET 10

    Utwórz projekt w Visual Studio

  2. Zainstaluj wymagańe pakiety NuGet firmy Iron Software

    Instalacja pakietów NuGet Iron Software

  3. Skonfiguruj klucze licencyjne w ustawieniach aplikacji

  4. Skonfiguruj wstrzykiwanie zależności dla usług Iron Software

  5. Wdrożenie odpowiedniej obsługi błędów i rejestrowania
using Microsoft.Extensions.DependencyInjection;
using IronPdf;
using IronOcr;

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        // Configure IronPDF
        services.AddSingleton<ChromePdfRenderer>();

        // Configure IronOCR
        services.AddSingleton<IronTesseract>();

        // Add other services
        services.AddLogging();
    }
}
using Microsoft.Extensions.DependencyInjection;
using IronPdf;
using IronOcr;

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        // Configure IronPDF
        services.AddSingleton<ChromePdfRenderer>();

        // Configure IronOCR
        services.AddSingleton<IronTesseract>();

        // Add other services
        services.AddLogging();
    }
}
Imports Microsoft.Extensions.DependencyInjection
Imports IronPdf
Imports IronOcr

Public Class Startup
    Public Sub ConfigureServices(services As IServiceCollection)
        ' Configure IronPDF
        services.AddSingleton(Of ChromePdfRenderer)()

        ' Configure IronOCR
        services.AddSingleton(Of IronTesseract)()

        ' Add other services
        services.AddLogging()
    End Sub
End Class
$vbLabelText   $csharpLabel

Wyklucz pliki z wyszukiwania

Wykluczanie plików

Użyj funkcji wykluczania plików w Visual Studio 2026, aby uniknąć przeszukiwania wygenerowanych plików PDF lub dużych plików dokumentów:

  1. Przejdź do Narzędzia → Opcje → Środowisko → Wyszukiwanie

  2. Dodaj wzorce, takie jak PDF, .xlsx lub output/**/*, aby wykluczyć te pliki z wyników wyszukiwania

  3. Poprawia to wydajność wyszukiwania i ogranicza zakłócenia podczas poszukiwania kodu

Procesy ciągłej integracji

Wykorzystaj ulepszone procesy ciągłej integracji w Visual Studio 2026 podczas wdrażania aplikacji Iron Software:

name: Build and Test

on: [push, pull_request]

jobs:
  build:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2

    - name: Setup .NET 10
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: '10.0.x'

    - name: Restore dependencies
      run: dotnet restore

    - name: Build
      run: dotnet build --configuration Release

    - name: Run unit tests
      run: dotnet test --configuration Release --logger trunit

    - name: Run code coverage
      run: dotnet test --collect:"XPlat Code Coverage"
name: Build and Test

on: [push, pull_request]

jobs:
  build:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2

    - name: Setup .NET 10
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: '10.0.x'

    - name: Restore dependencies
      run: dotnet restore

    - name: Build
      run: dotnet build --configuration Release

    - name: Run unit tests
      run: dotnet test --configuration Release --logger trunit

    - name: Run code coverage
      run: dotnet test --collect:"XPlat Code Coverage"
SHELL

Natywna obsługa GitHub Actions w Visual Studio 2026 sprawia, że konfiguracja potoków CI/CD dla projektów Iron Software jest prosta.

Zasoby społecznościowe i opinie osób trzecich

Społeczność programistów aktywnie dyskutuje na temat możliwości programu Visual Studio 2026. Według relacji InfoWorld, Visual Studio 2026 jest opisywane jako "natywne dla sztucznej inteligencji inteligentne środowisko programistyczne", które "oferuje poprawę wydajności i komfortu użytkowania, a także oparte na sztucznej inteligencji debugowanie, profilowanie i wiele więcej".

Inna opinia z Techzine Global podkreśla, że "Visual Studio 2026 ładuje się teraz znacznie szybciej niż jego poprzednik". W przypadku dużych projektów liczba zawieszeń została zmniejszona o ponad 50 procent. Ta poprawiona stabilność jest szczególnie korzystna podczas pracy z bibliotekami do przetwarzania dokumentów, które mogą obsługiwać duże pliki.

Dla programistów zainteresowanych szerszym kontekstem możliwości Visual Studio 2026, wykraczającym poza integrację z Iron Software, dyskusje społecznościowe na platformach takich jak Medium i serwisach z wiadomościami technologicznymi dostarczają cennych informacji na temat rzeczywistych doświadczeń użytkowników i najlepszych praktyk.

Płynna migracja z Visual Studio 2022

Porównanie UI wersji 2022 z nowszą 2026

Jedną z głównych zalet programu Visual Studio 2026 jest jego kompatybilność z istniejącymi projektami. Jak zaznaczono w informacjach o wydaniu, Visual Studio 2026 jest kompatybilne z projektami i rozszerzeniami z Visual Studio 2022, co oznacza, że nie są wymagańe żadne czynności migracyjne. Oznacza to, że:

  • Istniejące projekty Iron Software otwierają się natychmiast bez modyfikacji

  • Ponad 4000 rozszerzeń z VS 2022 działa w VS 2026

  • Instalacja równoległa umożliwia stopniowe przejście

  • Środowisko IDE jest oddzielone od narzędzi do kompilacji, co zapobiega zakłóceniom w łańcuchu narzędzi

Programiści mogą bezpiecznie zainstalować Visual Studio 2026 obok istniejącej instalacji Visual Studio 2022 i bez ryzyka ocenić, jak produkty Iron Software sprawdzają się w nowym środowisku.

Wskazówki dotyczące optymalizacji wydajności

Zarządzanie pamięcią

Podczas pracy z dużymi dokumentami warto rozważyć następujące strategie optymalizacji:

using IronPdf;
using System;

public class OptimizedPdfProcessor
{
    public void ProcessLargeDocument(string htmlPath)
    {
        // Use using statements for proper disposal
        using var renderer = new ChromePdfRenderer();

        // Configure for memory efficiency
        renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;

        // Process in chunks if possible
        var html = File.ReadAllText(htmlPath);
        using var pdf = renderer.RenderHtmlAsPdf(html);

        // Save immediately to free memory
        pdf.SaveAs("output.pdf");

        // PDF is disposed automatically
    }
}
using IronPdf;
using System;

public class OptimizedPdfProcessor
{
    public void ProcessLargeDocument(string htmlPath)
    {
        // Use using statements for proper disposal
        using var renderer = new ChromePdfRenderer();

        // Configure for memory efficiency
        renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;

        // Process in chunks if possible
        var html = File.ReadAllText(htmlPath);
        using var pdf = renderer.RenderHtmlAsPdf(html);

        // Save immediately to free memory
        pdf.SaveAs("output.pdf");

        // PDF is disposed automatically
    }
}
Imports IronPdf
Imports System
Imports System.IO

Public Class OptimizedPdfProcessor
    Public Sub ProcessLargeDocument(htmlPath As String)
        ' Use Using blocks for proper disposal
        Using renderer As New ChromePdfRenderer()

            ' Configure for memory efficiency
            renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
            renderer.RenderingOptions.PaperSize = PdfPaperSize.A4

            ' Process in chunks if possible
            Dim html As String = File.ReadAllText(htmlPath)
            Using pdf = renderer.RenderHtmlAsPdf(html)

                ' Save immediately to free memory
                pdf.SaveAs("output.pdf")

                ' PDF is disposed automatically
            End Using
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Narzędzie do alokacji pamięci w Visual Studio 2026 pozwala zidentyfikować nieefektywne wykorzystanie pamięci w kodzie przetwarzającym dokumenty.

Przetwarzanie wsadowe

W celu przetwarzania wielu dokumentów należy wdrożyć przetwarzanie wsadowe z odpowiednim zarządzaniem zasobami:

using IronPdf;
using System.Collections.Concurrent;
using System.Threading.Tasks;

public class BatchProcessor
{
    public async Task ProcessDocumentsBatch(IEnumerable<string> filePaths)
    {
        var options = new ParallelOptions
        {
            MaxDegreeOfParallelism = Environment.ProcessorCount
        };

        await Parallel.ForEachAsync(filePaths, options, async (path, ct) =>
        {
            using var renderer = new ChromePdfRenderer();
            var html = await File.ReadAllTextAsync(path, ct);
            var pdf = renderer.RenderHtmlAsPdf(html);

            var outputPath = Path.ChangeExtension(path, ".pdf");
            pdf.SaveAs(outputPath);
        });
    }
}
using IronPdf;
using System.Collections.Concurrent;
using System.Threading.Tasks;

public class BatchProcessor
{
    public async Task ProcessDocumentsBatch(IEnumerable<string> filePaths)
    {
        var options = new ParallelOptions
        {
            MaxDegreeOfParallelism = Environment.ProcessorCount
        };

        await Parallel.ForEachAsync(filePaths, options, async (path, ct) =>
        {
            using var renderer = new ChromePdfRenderer();
            var html = await File.ReadAllTextAsync(path, ct);
            var pdf = renderer.RenderHtmlAsPdf(html);

            var outputPath = Path.ChangeExtension(path, ".pdf");
            pdf.SaveAs(outputPath);
        });
    }
}
Imports IronPdf
Imports System.Collections.Concurrent
Imports System.Threading.Tasks

Public Class BatchProcessor
    Public Async Function ProcessDocumentsBatch(filePaths As IEnumerable(Of String)) As Task
        Dim options As New ParallelOptions With {
            .MaxDegreeOfParallelism = Environment.ProcessorCount
        }

        Await Parallel.ForEachAsync(filePaths, options, Async Function(path, ct)
            Using renderer As New ChromePdfRenderer()
                Dim html As String = Await File.ReadAllTextAsync(path, ct)
                Dim pdf = renderer.RenderHtmlAsPdf(html)

                Dim outputPath As String = Path.ChangeExtension(path, ".pdf")
                pdf.SaveAs(outputPath)
            End Using
        End Function)
    End Function
End Class
$vbLabelText   $csharpLabel

Wnioski

Visual Studio 2026 stanowi znaczący krok naprzód w dziedzinie narzędzi programistycznych .NET, oferując funkcje programowania oparte na sztucznej inteligencji, zwiększoną wydajność oraz odświeżony interfejs dostosowany do nowoczesnych zasad projektowania. Najnowsza wersja zapewnia wyjątkowe środowisko do pracy z kompleksowym zestawem bibliotek do przetwarzania dokumentów firmy Iron Software.

Wszystkie produkty Iron Software — w tym IronPDF, IronOCR, IronBarcode i IronXL — działają płynnie i wydajnie w Visual Studio 2026. Dzięki pełnej obsłudze .NET 10 i płynnej kompatybilności z najnowszymi funkcjami języka C# 14 programiści mogą z pewnością tworzyć solidne aplikacje do przetwarzania dokumentów, korzystając z tych potężnych bibliotek w najnowszym środowisku IDE firmy Microsoft.

Połączenie ulepszonych możliwości debugowania w Visual Studio 2026, integracji z GitHub Copilot, ulepszonych narzędzi do pokrycia kodu oraz funkcji profilowania wydajności tworzy idealne środowisko programistyczne do wdrażania zaawansowanych procesów pracy z dokumentami. Niezależnie od tego, czy generujesz pliki PDF z HTML, wyodrębniasz tekst z obrazów za pomocą OCR, odczytujesz i zapisujesz BarCodes, czy też przetwarzasz arkusze kalkulacyjne Excel, produkty Iron Software płynnie integrują się z nowymi funkcjami i możliwościami Visual Studio 2026.

Zwiększona wydajność, obejmująca szybsze ładowanie rozwiązań, skrócony czas kompilacji oraz lepsze zarządzanie pamięcią, gwarantuje programistom wydajną pracę nawet w przypadku dużych projektów wymagających intensywnego przetwarzania dokumentów. Wersje Community i Professional zawierają teraz analizę pokrycia kodu, co demokratyzuje dostęp do niezbędnych narzędzi testowych, które pomagają zapewnić jakość aplikacji korzystających z bibliotek Iron Software.

Dla programistów pragnących wykorzystać najnowsze osiągnięcia zarówno w zakresie technologii IDE, jak i możliwości przetwarzania dokumentów, połączenie Visual Studio 2026 i produktów Iron Software oferuje potężne, nowoczesne środowisko programistyczne. Płynna integracja, kompleksowa obsługa .NET 10 oraz ulepszone funkcje zwiększające produktywność sprawiają, że jest to optymalny wybór do tworzenia aplikacji .NET nowej generacji, które wymagają zaawansowanych możliwości obsługi dokumentów.

Ponieważ zarówno Visual Studio 2026, jak i Iron Software nieustannie ewoluują dzięki automatycznym comiesięcznym aktualizacjom i regularnym ulepszeniom funkcji, programiści mogą spodziewać się coraz bardziej dopracowanego i wydajnego środowiska programistycznego. Przyszłość przetwarzania dokumentów w środowisku .NET już nadeszła i działa znakomicie w programie Visual Studio 2026.


Aby uzyskać więcej informacji na temat produktów Iron Software i ich możliwości, odwiedź stronę ironsoftware.com lub zapoznaj się z obszerną dokumentacją i samouczkami dostępnymi dla każdego produktu.