Konfiguracja w .NET Standard / Core
Plik Startup.cs
W pliku Startup.cs projektu .NET Core te linie kodu definiują konfigurację potoku middleware przy użyciu metody MapWhen. Podany predykat sprawdza, czy ścieżka żądania kończy się na DocImage.axd. Wewnętrz tego bloku wywoływana jest metoda UseDoconut z obiektem DoconutOptions jako argumentem.
app.MapWhen(
context => context.Request.Path.ToString().EndsWith("DocImage.axd"),
appBranch =>
{
appBranch.UseDoconut(new DoconutOptions { UnSafeMode = false, ShowDoconutInfo = false });
}
);Dodaj przestrzenie nazw Doconut
W swoim projekcie dodaj następujące instrukcje using:
using Doconut;
using Doconut.Configs;
using Doconut.Formats;
using Doconut.Clouds;Utwórz obiekt Viewer
Ta linia tworzy nową instancję klasy Viewer, pozwalając na stworzenie obiektu widoku w kodzie.
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Skonfiguruj obiekt DocOptions
Przykładowa inicjalizacja obiektu DocOptions ze specyficznymi ustawieniami:
var documentOptions = new DocOptions
{
Password = "",
ImageResolution = 200,
TimeOut = 30
};Skonfiguruj obiekt config
Zainicjalizuj nowy obiekt PdfConfig z określonymi ustawieniami obsługi dokumentów PDF:
var config = new PdfConfig { DefaultRender = true, ExtractHyperlinks = true };Otwórz swój dokument
Ta linia wywołuje metodę OpenDocument obiektu viewer, przekazując ścieżkę do pliku dokumentu znajdującego się na serwerze oraz wcześniej skonfigurowane obiekty PdfConfig i DocOptions jako parametry.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);Dodaj viewer w swoim HTML
<div id="div_ctlDoc"></div>Dodaj pliki CSS i JavaScript
Dodaj następujące pliki CSS i JavaScript na stronie. Skrypty te są zawarte w pliku ZIP z przykładami kodu.
<link rel="stylesheet" href="css/viewer.css" />
<!-- Main Viewer Related Scripts -->
<script src="scripts/jquery.min.js"></script>
<script src="scripts/docViewer.js"></script>
<script src="scripts/splitter.js"></script>
<script src="scripts/search.js"></script>
<script src="scripts/documentLinks.js"></script>
<!-- Viewer functions -->
<script src="scripts/docViewer.UI.js?v=1"></script>Dodaj licencje do swojego projektu
Automatyczne wykrywanie licencji
Aby zainicjować docViewer z automatycznym wykrywaniem licencji, użyj następującej linii:
var docViewer = new Viewer(_cache, _accessor);Dodaj ręczną domyślną licencję
Możesz ręcznie określić ścieżkę do pojedynczego domyślnego pliku licencji podczas inicjalizacji viewer.
var licenseFilePath = Path.Combine(_hostingEnvironment.WebRootPath, "path/to/your/license");
var docViewer = new Viewer(_cache, _accessor, licenseFilePath);Dodaj licencję za pomocą strumienia
Ta metoda używa przeciążenia Viewer.DoconutLicense(Stream licenseStream), aby dodać licencję przy użyciu strumienia.
using (var licenseStream = new FileStream("path/to/your/license", FileMode.Open))
{
Viewer.DoconutLicense(licenseStream);
}Dodaj licencję za pomocą dokumentu XML
Ta metoda używa przeciążenia Viewer.DoconutLicense(XMLDocument licence), aby dodać licencję przy użyciu dokumentu XML.
var xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/your/license.xml");
Viewer.DoconutLicense(xmlDoc);Ręczna domyślna wiele licencji wtyczek
Jeśli musisz określić wiele licencji, możesz podać listę ścieżek plików podczas inicjalizacji viewer.
List<string> licenseFilePaths = new List<string>
{
Path.Combine(_hostingEnvironment.WebRootPath, "Doconut.Viewer.lic"),
Path.Combine(_hostingEnvironment.WebRootPath, "Doconut.Viewer.Annotation.lic"),
Path.Combine(_hostingEnvironment.WebRootPath, "Doconut.Viewer.Search.lic")
};
var docViewer = new Viewer(_cache, _accessor, licenseFilePaths);Dodaj licencję wtyczki za pomocą strumienia
Ta metoda używa przeciążenia Viewer.SetLicensePlugin(Stream pluginLicence), aby dodać licencję wtyczki przy użyciu strumienia.
using (var pluginLicenseStream = new FileStream("path/to/your/plugin-license.lic", FileMode.Open))
{
Viewer.SetLicensePlugin(pluginLicenseStream);
}Dodaj licencję wtyczki za pomocą dokumentu XML
Ta metoda używa przeciążenia Viewer.SetLicensePlugin(XMLDocument xmlPluginLicence), aby dodać licencję wtyczki przy użyciu dokumentu XML.
var pluginXmlDoc = new XmlDocument();
pluginXmlDoc.Load("path/to/your/plugin-license.xml");
Viewer.SetLicensePlugin(pluginXmlDoc);Wymagane pakiety NuGet
Aby zapewnić pełną kompatybilność projektu z .NET Core Standard, należy uwzględnić następujące pakiety NuGet, wymienione w kolejności alfabetycznej.
- MessagePack - Version 2.5.140
- Microsoft.Bcl.AsyncInterfaces - Version 8.0.0
- Microsoft.Extensions.Caching.Abstractions - Version 8.0.0
- Microsoft.Extensions.Configuration - Version 8.0.0
- Microsoft.Extensions.Configuration.Abstractions - Version 8.0.0
- Microsoft.Extensions.Configuration.FileExtensions - Version 8.0.0
- Microsoft.Extensions.Configuration.Json - Version 8.0.0
- Microsoft.Extensions.FileProviders.Abstractions - Version 8.0.0
- Microsoft.Extensions.FileProviders.Physical - Version 8.0.0
- Microsoft.Extensions.FileSystemGlobbing - Version 8.0.0
- Microsoft.Extensions.Primitives - Version 8.0.0
- System.Buffers - Version 4.5.1
- System.Formats.Asn1 - Version 8.0.0
- System.Numerics.Vectors - Version 4.5.0
- System.Security.Cryptography.Cng - Version 5.0.0
- System.Security.Cryptography.Pkcs - Version 8.0.0
- System.Text.Encoding.CodePages - Version 8.0.0
- System.Text.Encodings.Web - Version 8.0.0
- System.Text.Json - Version 8.0.3
- System.Threading.Tasks.Extensions - Version 4.5.4
Opcje konfiguracji renderowania
Możesz skonfigurować zachowanie renderowania przy użyciu następujących opcji:
- CadConfig: używany do plików DWG, DXF i DGN.
- EmailConfig: używany do plików EML, EMLX i MSG.
- EpubConfig: używany do plików EPUB.
- ExcelConfig: używany do plików Excel i CSV.
- MhtConfig: używany do plików MHT.
- PptConfig: używany do plików PowerPoint.
- ProjectConfig: używany do plików MPP.
- PsdConfig: używany do plików PSD.
- TxtConfig: używany do plików TXT.
- TiffConfig: używany do plików TIFF.
Konfiguracja opcji renderowania
Opcje renderowania konfiguruje się przy użyciu właściwości DefaultRender:
- DefaultRender = true : Ta opcja zapewnia wyższą jakość renderowania, ale zużywa więcej pamięci serwera i czasu przetwarzania.
- DefaultRender = false : Ta opcja zapewnia szybsze renderowanie kosztem nieco niższej jakości.
Jak dodać adnotację obrazu
W C#
1. Otwórz dokument i pobierz wymiary pierwszej strony. 2. Zainicjalizuj AnnotationManager z wymiarami strony. 3. Utwórz ImageAnnotation, ustawiając ścieżkę obrazu w imgUrl oraz określ pozycję i rozmiar w Rectangle. 4. Dodaj adnotację do menedżera i załaduj ją w viewerze dokumentu, aby wyświetlić.
var token = docViewer.OpenDocument(pathToFile, config, documentOptions);
var firstPage = docViewer.GetThumbnailDimensions(1, 0, 100, false);
var pageWidth = firstPage.Width;
var pageHeight = firstPage.Height;
using (var annMgr = docViewer.GetAnnotationManager(pageWidth, pageHeight))
{
string imgUrl = "img/sample.png";
var imgAnn = new ImageAnnotation(
1,
new Rectangle(600, 700, 750, 300),
imgUrl
);
annMgr.Add(imgAnn);
docViewer.LoadAnnotationXML(annMgr.GetAnnotationXml());
}W JavaScript
1. Upewnij się, że YourController jest dostępny. 2. Utwórz nowy ImageAnnotation, ustawiając ścieżkę obrazu za pomocą SetNote. 3. Dodaj i namaluj adnotację, aby wyrenderować ją na dokumencie.
function ImageStamp() {
if (null != objctlDoc.YourController()) {
var objStampImage = new ImageAnnotation({ left: 200, top: 200, width: 260, height: 55 });
objctlDoc.YourController().AddAnnotation(null, objStampImage, null);
objStampImage.SetNote('/images/Approved_Stamp.png');
objStampImage.Paint();
}
}Niestandardowe czcionki w dokumentach Word
Właściwość FontFolders w klasie WordConfig określa niestandardowe katalogi, w których aplikacja będzie szukać czcionek. Jest to szczególnie przydatne przy przetwarzaniu dokumentów Word, które korzystają z czcionek niezainstalowanych w domyślnych katalogach czcionek systemu.
var config = new WordConfig
{
FontFolders = new string[] { "C:\\CustomFonts", "D:\\SharedFonts" }
};Ważna aktualizacja dla Doconut 25.2.0
Konieczne jest zaktualizowanie pakietu System.Text.Json do wersji 8.0.5 we wszystkich projektach. Ta aktualizacja jest kluczowa, aby zapewnić kompatybilność z najnowszymi funkcjami oraz rozwiązać istotne poprawki bezpieczeństwa.
Kodowanie e-maili
Właściwość EmailEncoding w klasie EmailConfig określa preferowane kodowanie zarówno tematu, jak i treści e-maila.
var emailConfig = new EmailConfig {
EmailEncoding = Encoding.UTF8 // Set preferred email encoding
};Kodowanie tematu i treści
Właściwości SubjectEncoding i BodyEncoding w klasie EmailConfig definiują kodowanie używane odpowiednio dla tematu i treści e-maila.
var emailConfig = new EmailConfig {
SubjectEncoding = Encoding.UTF8, // Set encoding for the subject
BodyEncoding = Encoding.UTF8 // Set encoding for the body
};Wsparcie kultury w przeglądarce Word
Właściwość DocumentCulture w klasie WordConfig umożliwia wyraźne określenie kultury dla plików DOC i DOCX. Zapewnia to, że lokalizowana zawartość — takiej jak daty, waluty i liczby — jest renderowana dokładnie tak, jak w programie Microsoft Word. Jest to szczególnie przydatne w językach wymagających specyficznych formatów.
var config = new WordConfig { DocumentCulture = "he-IL" }; // Hebrew (Israel)
var config = new WordConfig { DocumentCulture = "ar-SA" }; // Arabic (Saudi Arabia)
var config = new WordConfig { DocumentCulture = "th-TH" }; // Thai (Thailand)
var config = new WordConfig { DocumentCulture = "ja-JP" }; // Japanese (Japan)Pobierz wymagane pliki CSS i JS
Aby Doconut działał prawidłowo, musisz dołączyć określone pliki CSS i JS do swojego projektu. Możesz pobrać plik ZIP zawierający wszystkie niezbędne pliki, korzystając z poniższego linku: