Я сделал несколько редакторов PDF, для которых вы заполняете форму ASP. NET, и она заполняет PDF-файл для загрузки. В настоящее время все координаты для вывода текста необходимо вводить вручную методом проб и ошибок, что далеко от идеала.
Итак, чтобы немного упростить задачу, я пытаюсь создать визуальный редактор в ASP. NET для получения этих координат. В настоящее время идея состоит в том, чтобы встроить файл PDF в атрибут данных элемента <object>
и щелкнуть и перетащить мышь, чтобы выбрать область для нового поля.
Проблема, с которой я столкнулся, заключается в что элемент <object>
, похоже, работает так же, как iframe в том смысле, что я не могу получить доступ ни к одному из событий в нем.
Например:
На следующей странице теоретически должен быть указан X и координаты Y при нажатии внутри <object>
. Если вы быстро щелкните перед его загрузкой, вы получите результат для div, инкапсулирующего <object>
. Затем, после загрузки PDF-файла, больше ничего не происходит.
Formbuilder.cs html
<h2>Form Builder Prototype</h2>
<p id="demo"></p>
<div class="embed-responsive embed-responsive-16by9" onclick="showCoords(event)">
<object class="embed-responsive-item" data="@Url.Action("GetPdfForm", "admin")" type="application/pdf" width="100%" height="100%">
Click @Html.ActionLink("here", "GetPdfForm", "admin") to view the file.
</object>
</div>
@section Scripts {
<script>
function showCoords(event) {
console.log(event);
var x = event.clientX;
var y = event.clientY;
var coor = "X coords: " + x + ", Y coords: " + y;
document.getElementById("demo").innerHTML = coor;
}
function clearCoor() {
document.getElementById("demo").innerHTML = "";
}
</script>
}
AdminController.cs
public ActionResult GetPdfForm()
{
var fileName = Server.MapPath(ORIGINAL_FORM_V65);
var fs = System.IO.File.ReadAllBytes(fileName);
return File(fs, "application/pdf", null);
}
Итак, у меня к вам следующие вопросы:
- Есть ли уже передовая практика или даже библиотека для такой вещи?
- Если элемент объекта недоступен, как iframe, можно ли вместо этого наложить div?
Я собираюсь пока поиграть с z-индексами и посмотреть, решит ли это проблема, но в идеале я мог бы использовать решение, которое напрямую работает с pdf. Я не очень-то разбираюсь в том, как представлен PDF-файл, поэтому, если есть способ сделать это лучше, я все слышу!