В xcode я могу отображать PDF как одну непрерывную страницу, при этом ширина PDF равна ширине экрана, а затем вертикальная прокрутка является высотой PDF для указанной ширины. Нет проблем
В настоящее время конвертирует одно и то же приложение в Android и испытывает некоторые трудности с реализацией того же представления PDF
В основном у меня есть очень длинная страница PDF (одна страница). Я не хочу пролистывать страницы, но вместо этого, как и в моем приложении для iOS, документ PDF заполняет ширину экрана Android, а затем прокручивается по вертикали, чтобы показать остальную часть PDF
Я использую com.github.barteksc.pdfviewer.PDFView для отображения моего PDF
В моем xml для деятельности у меня есть:
<?xml version = "1.0" encoding = "utf-8"?>
<ScrollView xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fillViewport = "true">
tools:context = ".ProfileActivity">
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:orientation = "vertical">
<com.github.barteksc.pdfviewer.PDFView
android:id = "@+id/pdfView"
android:layout_width = "match_parent"
android:layout_height = "match_parent"/>
</LinearLayout>
</ScrollView>
Я попытался изменить layout_height на «wrap_content» для scrollView, Linear и pdf, поскольку это может показаться уместным, но всякий раз, когда я это делаю, я получаю пустой экран. Кажется, что это приводит к отсутствию атрибута высоты, поэтому представление полностью рушится.
Буду очень признателен за любую дополнительную помощь, это действительно мой единственный камень преткновения. Я бы хотел, чтобы у Android был PDFKit (аналогичный), так как я обнаружил, что его довольно легко использовать и реализовать
Спасибо CommonsWare, я бы предпочел не использовать PSPDFKit из-за обвинений. Что касается WebView, не могли бы вы расширить?
Что ж, веб-страницы естественным образом работают в режиме непрерывной вертикальной прокрутки. Например, прокрутите эту веб-страницу. Возможно, ваш контент может быть в формате HTML/CSS/JS вместо формата PDF.
Извините, но какой нелепый комментарий .... вопрос конкретно о PDF, с какой стати мне менять содержимое на HTML ... буквально ничего общего с вопросом, просто трачу свое время. Если бы я мог минусовать комментарий, я бы тысячу раз
«С какой стати мне менять содержимое на HTML» — потому что это соответствует желаемому шаблону рендеринга и бесплатно. Итак, теперь вы ищете решение, в котором вы навязываете формат контента, шаблон рендеринга и цену. Не удивляйтесь, если вам придется реализовывать гораздо более низкоуровневые вещи для достижения этой комбинации, такие как внесение исправлений в библиотеку с открытым исходным кодом, которую вы пытаетесь использовать, если нет встроенной опции для непрерывной вертикальной прокрутки.
Достаточно справедливо вашего ответа, извините за мой предыдущий комментарий, если он груб. К сожалению, ранее я видел комментарии, которые не имеют отношения к вопросу, и меня это бесит. Однако в конечном итоге вопрос в том, что я ищу решение, похожее на PDFkit в Android. Я был бы очень удивлен, если бы узнал, что такой рендеринг невозможен. У меня более 100 PDF-файлов, поэтому переход на HTML, к сожалению, не вариант.
Я предполагаю, что проблема, с которой я сталкиваюсь, связана с проблемой ограничения макета, когда мне нужно установить PDF в ширину представления, а затем высоту просмотра, чтобы соответствовать PDF на этой ширине. В то время как в настоящее время происходит обратное, он устанавливает PDF на высоту представления, а затем соответствует ширине PDF на этой высоте.




Ну есть ответ!
Мне пришлось «обновиться» до последней версии: 3.1.0-beta.1 и использовать:
.pageFitPolicy(FitPolicy.WIDTH)
В сочетании с моим XML:
<ScrollView xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fillViewport = "true">
tools:context = ".AboutActivity">
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "0dp"
android:orientation = "vertical">
<com.github.barteksc.pdfviewer.PDFView
android:id = "@+id/pdfView"
android:layout_width = "match_parent"
android:layout_height = "match_parent"/>
</LinearLayout>
</ScrollView>
Работал отлично. Я надеюсь, что это поможет другим
PSDFKit выглядит как иметь возможность непрерывной вертикальной прокрутки. В качестве альтернативы, возможно, ваш контент должен быть представлен в виде одной веб-страницы, которую вы бы отображали с помощью
WebView.