Laden...

Profil von tom-essen

myCSharp.de - Experte Mitglied seit
tom-essen
myCSharp.de - Experte
81
Themen
1.821
Beiträge
Interessen: API's im Allgemeinen, TWAIN, Win32, Client/Server, Komponenten-Entwicklung, SharePoint, Azure, Cloud-Dienste. Aktuell liegt der Fokus aufgrund einer neuen Arbeitsstelle im Bereich der E-Rechnungen (ZUGFeRD, Faktur-X, XRechnung, EDIFACT)
Dabei seit
15.05.2005
Letzte Aktivität
vor einem Monat
Beruf
Entwickler & Consultant
Herkunft
NRW
Interessen
Familie, Computer, Sport, Modellbahn
Erstellt vor einem Monat

Hallo pollito,

ich hole man der Vollständigkeit zu Ehren etwas weiter aus.

Mit iText kann man Dateien ja relativ einfach in ein PDF-Dokument einbinden:

using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Filespec;
using iText.Kernel.Utils;
using iText.Pdfa;

public static MemoryStream AttachToPDF(MemoryStream pdf, byte[] attachment, string fileName, string description)
{
    var result = new MemoryStream();
    pdf.Position = 0;
    using (var pdfReader = new PdfReader(pdf))
    using (var pdfWriter = new PdfWriter(result))
    using (var pdfDocument = new PdfADocument(pdfReader, pdfWriter))
    {
        pdfWriter.SetCloseStream(false);
        pdfDocument.AddFileAttachment(fileName, PdfFileSpec.CreateEmbeddedFileSpec(pdfDocument,
                                                attachment, description, fileName, PdfName.Data));
    }
    return result;
}

Für ein PDF-A/3-Dokument muss ein ICC-Farbprofil (ICC-Profil – Wikipedia) hinterlegt sein, einige Varianten kann man unter sRGB profiles (https://color.org, International Color Consortium) herunterladen.

public static MemoryStream AddRgbProfile(MemoryStream pdf)
{
    MemoryStream result = new MemoryStream();
    pdf.Position = 0;
    using (var pdfReader = new PdfReader(pdf))
    using (var pdfRDocument = new PdfDocument(pdfReader))
    using (var pdfWriter = new PdfWriter(result, new WriterProperties().AddXmpMetadata()))
    using (var iccProfile = new FileStream("profile_name.icc", FileMode.Open, FileAccess.Read))
    using (var pdfDocument = new PdfADocument(pdfWriter, PdfAConformance.PDF_A_3B,
                                                new PdfOutputIntent("Custom", "", "http://www.color.org",
                                                                    "profile_name", iccProfile)))
    {
        pdfWriter.SetCloseStream(false);
        new PdfMerger(pdfDocument).Merge(pdfRDocument, 1, pdfDocument.GetNumberOfPages());
    }
    return result;
}

Irgendwo hab' ich auch mal gelesen, dass man ggf. vorhandene Profile löschen sollte, in der Richtung hab' ich aber aktuell noch nichts geschrieben.

Ich hoffe, dass hilft etwas weiter.

Erstellt vor einem Jahr

Hallo,

die mir bekanntesten Zertifizierungsstellen sind z.B. DEKRA und TÜV, aber da gibt es sicher noch mehrere.

Evtl. sollte man die einfach mal anschreiben und nachfragen. Je nach Kunden-Klientel gibt es evtl. sogar darauf spezialisierte Anbieter.

Es gibt hier ja auch zahlreiche Faktoren zu berücksichtigen (z.B. für welche Länder die Zertifizierung gelten soll, in welchen Sparten die Lösung eingesetzt werden soll, ...). Zusätzlich gibt es bestimmt auch noch Abstufungen in dem Bereich.

Das alles (und bestimmt noch viel mehr) wird man durch die entsprechenden Zertifizierungsstellen erfahren, evtl. erhält man dann sogar einen Katalog mit Anforderungen.

Aber ich vermute mal, dass man eine ungefähre Preisauskunft auch erst nach ausführlichen Beratungsgesprächen erhält.

Erstellt vor einem Jahr

Hallo,

mich würde mal das Ergebnis der Umfrage interessieren.

Am Ende der Umfrage wird nur angezeigt, wie viele die Fragen beantwortet haben, aber nicht mit welchem Ergebnis.

Erstellt vor einem Jahr

Hallo,

als kleine Ergänzung sei noch erwähnt, dass es für Threads die Eigenschaft IsBackground gibt, welche man auf true setzen sollte (siehe auch Thread.IsBackground). Dadurch wird verhindert, dass ein noch laufender Thread die Beendung der Anwendung verhindert.

Erstellt vor einem Jahr

Hallo,

evtl. noch als Ergänzung:

herbivore hatte ja bereits erwähnt, dass ein allgemeiner EventHandler erstmal ausreicht, da der erste Parameter (sender) ja die Button-Instanz zurück gibt.

Um nun zu wissen, um welchen Button es sich handelt, kann man entweder den Namen prüfen oder man verwendet die Tag-Eigenschaft des Buttons bei Erstellung, um dort weitere Informationen abzulegen, welche dann im EventHandler entsprechend verwendet werden können.

private void GlobalEventHandlerForButtonClick(object sender, EventArgs e)
{
  if (sender is Button button)
  {
    if (button.Name == "dynamicButton1")
    {
      // Code to handle click event for dynamicButton1
    } else 
      if (button.Tag != null) 
      {
        // Check data in button.Tag
      }
  }
}
Erstellt vor einem Jahr

Hallo,

als kleiner Tipp sei hier einmal das Framework NetOffice erwähnt, welches einen Wrapper für die Microsoft Office-Anwendungen bereit stellt.

Damit kann man per Fernsteuerung der Anwendungen so ziemlich alles machen, was sonst auch mit VBA geht.

Zu Einsteigen gibt es auch zahlreiche Beispiele.

Erstellt vor 6 Jahren

Hallo,

eine andere Möglichkeit wäre die Nutzung der von Amazon, Google oder Microsoft angebotenen Online Services. Diese sind für einfache Testprojekte auch kostenfrei nutzbar und bieten u. a. OCR.

Zumindest für Microsoft gibt es auch vorgefertigte C#-Samples für die Cognitive Services.

Erstellt vor 7 Jahren

Hallo,

es gibt doch in jeder AppDomain-Instanz ein Event AssemblyResolve. Dieses kannst du abbonieren, und dann bei den gennanten Assemblies den korrekten Verweis zurück geben.

Erstellt vor 9 Jahren

Hallo zusammen,

ich habe nun eine aktuelle Version hochgeladen (64-bit), der Link ist im ersten Beitrag. Voraussetzung ist mittlerweile .NET 4. In der neuen Version ist der Zugriff auf SharePoint enthalten, an der CRM-Integration arbeite ich noch, bzw. habe diese noch nicht "Database-Explorer"-kompatibel.

Erstellt vor 9 Jahren

Hallo Janserino,

ich habe aktuell ebenfalls das Problem, Printer++ nicht unter Windows 8 zum Laufen zu bekommen. Könnest du verraten, was du gemacht hast, damit Printer++ unter Windows 8 funktioniert?

10 von 1.821 Beiträgen