67 lines
2.2 KiB
Plaintext
67 lines
2.2 KiB
Plaintext
@page
|
|
@model DXApp.TemplateKitProject.Pages.Invoices.UploadModel
|
|
@{
|
|
ViewData["Title"] = "PDF/A Upload";
|
|
}
|
|
|
|
<h2>PDF/A Rechnung hochladen</h2>
|
|
|
|
<form method="post" enctype="multipart/form-data">
|
|
<div class="mb-3">
|
|
<label asp-for="PdfFile" class="form-label">PDF/A-Datei auswählen</label>
|
|
<input asp-for="PdfFile" type="file" class="form-control" accept=".pdf" />
|
|
<span asp-validation-for="PdfFile" class="text-danger"></span>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary">Hochladen & Analysieren</button>
|
|
</form>
|
|
|
|
@if (Model.ExtractionDone)
|
|
{
|
|
<hr />
|
|
<h4>Ergebnis</h4>
|
|
|
|
@if (!string.IsNullOrEmpty(Model.ErrorMessage))
|
|
{
|
|
<div class="alert alert-danger">@Model.ErrorMessage</div>
|
|
}
|
|
else if (Model.Result == null || !Model.Result.HasAttachments)
|
|
{
|
|
<div class="alert alert-warning">Keine Anhänge in der PDF gefunden.</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="alert @(Model.Result.HasZugferdXml ? "alert-success" : "alert-warning")">
|
|
@if (Model.Result.HasZugferdXml)
|
|
{
|
|
<strong>✔ ZUGFeRD/Factur-X XML gefunden:</strong>
|
|
<span>@Model.Result.ZugferdXmlAttachment!.OriginalFileName</span>
|
|
}
|
|
else
|
|
{
|
|
<strong>⚠ Kein ZUGFeRD-XML gefunden.</strong>
|
|
}
|
|
</div>
|
|
|
|
<table class="table table-sm table-bordered">
|
|
<thead class="table-light">
|
|
<tr>
|
|
<th>Dateiname</th>
|
|
<th>Größe</th>
|
|
<th>ZUGFeRD?</th>
|
|
<th>Gespeichert unter</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var a in Model.Result.Attachments)
|
|
{
|
|
<tr class="@(a.IsZugferdXml ? "table-success" : "")">
|
|
<td>@a.OriginalFileName</td>
|
|
<td>@($"{a.FileSizeBytes:N0}") Bytes</td>
|
|
<td>@(a.IsZugferdXml ? "✔ Ja" : "Nein")</td>
|
|
<td><small class="text-muted">@a.SavedFilePath</small></td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
}
|
|
} |