我正在寻找一种path从PDF文件中删除所有对象的方法.
我怀疑这可能是用Adobe Acrobat中的javascript完成的,但我真的很感激使用ghostscript或mupdf工具做一些提示.
无论如何,任何可行的解决方案都是正确的答案
我使用Mupdf库实现了电子书应用程序,并希望为我的项目中的每个pdf文件生成缩略图任何人都可以告诉我如何生成这个?提前致谢
我正在开发一个 android 应用程序,它应该可以帮助用户注释 PDF 文件。我正在使用 MuPDF 在 android 设备上解析 PDF。我能够阅读 PDF,但无法找到一种方法来帮助我实现 PDF 的注释功能。我找不到任何示例核心,也找不到任何解释我正在寻找的内容的手册。任何人都有任何示例代码、任何其他材料或任何链接,它们可以让我了解如何支持 PDF 文件上的简单注释(比如绘制矩形或自由书写)。
非常感谢这方面的任何帮助。
提前致谢。
我正在为Android开发app,它有pdf可供查看.PDF正在构建到应用程序中,因此我必须加载pdf才能正确查看.
应该没有共享选项和所有其他内容,但用户应该能够缩放pdf.
我使用过mupdf,但pdf水平滚动(即页面是并排),我希望pdf垂直滚动.我已经尝试了一切,但我没有得到结果.
我正在尝试使用mupdf创建一个程序(在Qt中),这将允许我将文档的对象列为列表,并允许我选择要呈现/不呈现的对象.由于Qt是c ++,而且我对它更熟悉,我试图在m ++中用C++类包装结构.
现在我的问题是这个 - 你在mupdf中做的第一件事就是创建一个全局上下文,它传递给所有东西,包括清理和删除结构的函数.
我熟悉创建一个有重载的对象,operator()很像:
struct ContextDeleter
{
inline void operator()(fz_context* ctx)
{
fz_drop_context(ctx);
}
};
Run Code Online (Sandbox Code Playgroud)
然后我可以交给unique_ptr-
std::unique_ptr<fz_context, ContextDeleter> ctxPtr;
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚的是如何用以下函数做同样的事情:
fz_drop_page(ctx, page);
Run Code Online (Sandbox Code Playgroud)
即:
struct PageDeleter
{
inline void operator()(fz_context* ctx, fz_page* pg)
{
fz_drop_page(ctx, pg);
}
}
Run Code Online (Sandbox Code Playgroud)
这显然是不正确的,但我正在努力实现.
如何为unique_ptr包含2个参数(在这种情况下是必要的上下文指针)创建一个删除器?有没有办法让我unique_ptr知道删除页面的上下文指针(在本例中)?或者(我曾经想过)我需要创建一些包装的东西,unique_ptr所以我可以把它上传给上下文以便稍后删除(还没有完全考虑过).
我在这里看到了这些例子:
如何将自定义删除器与std :: unique_ptr成员一起使用?
和
但我无法弄清楚如何使它们在我的情况下工作.
到目前为止,使用pdfimages和mupdf/进行的图像提取mutool效果还不错。
用FreePDF生成的PDF中的图像始终被切片,因此一张图像会生成多个图像文件。
有避免这种情况的技巧吗?如何使用的结果pdfshow?将PDF转换为PNG或JPEG后,是否有坐标可知道要剪切/裁剪图像的位置,高度和宽度?
我正在使用mupdf来显示存储在我的Android应用程序的本地存储库中的pdf文件.这工作得很好.现在我必须创建一个列表,显示打开的pdf文档的所有页面的图像,并在每个导航用户到特定页面的图像上添加点击事件.为了解决这个问题,我想知道我可以通过多少方式在我的应用程序中拍摄pdf文档的每一页.
我可以直接在我的Android应用程序中运行mupdf命令,或者我必须在mupdf.c文件中工作吗?请把你的意见放在这里.任何形式的帮助都非常感谢.
如何在MuPdf中获取复制和粘贴选择.
我希望得到如下图像.

我正在使用MuPDF库在我的应用程序中显示pdf ..可以查看保存在内部或外部存储器中的PDF,但是如果应用程序存储在应用程序的资源文件夹中,则不显示pdf ...如何在应用PDF中查看?
我已经看过解决方案,说我们可以在应用程序相关文件夹中复制我们的应用程序PDF,然后在以后使用它们......但我无法得到它...
这是代码 -
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button showPDFBtn = (Button)findViewById(R.id.btn_show_pdf);
showPDFBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Uri uri = Uri.parse("file:///android_asset/test.pdf");
Intent intent = new Intent(MainActivity.this, MuPDFActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
}}
);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud) 按照 mutool 的命令说明进行draw操作
https://mupdf.com/docs/manual-mutool-draw.html
当输出“矢量格式”之一是“调试跟踪(作为 xml)”并且“输出格式是从输出文件名推断出来”时,如何输出“结构化文本(作为 xml)”?
如果我跑
mutool draw -o "testfile.xml" "testfile.pdf"
Run Code Online (Sandbox Code Playgroud)
看来我得到了“调试跟踪(作为 xml)”文件格式。
我应该使用什么文件扩展名来确保输出“结构化文本(如 xml)”格式?
运行我的Android代码时,我得到了不受支持的操作异常,RANDOMLY.抛出此异常后,我的应用程序崩溃了.如何处理相同的,以及抛出此EXCEPTION的基本原因是什么.
例1:
@Override
public View getSelectedView() {
throw new UnsupportedOperationException("Not supported");
}
Run Code Online (Sandbox Code Playgroud)
例2:
@Override
public void onBackPressed() {
if(slideContent.getVisibility()==View.VISIBLE)
slideContent.setVisibility(View.GONE);
if(searchAutoCompleteText.getText().toString().length()>0)
searchAutoCompleteText.setText("");
else{
super.onBackPressed();
}
}
Run Code Online (Sandbox Code Playgroud)
logcat的:
java.lang.UnsupportedOperationException
com.artifex.mupdfdemo.ReaderView.getSelectedView(ReaderView.java:751)
android.widget.AdapterView.onInitializeAccessibilityEvent(AdapterView.java:1014)
android.view.View.sendAccessibilityEventUncheckedInternal(View.java:5150)
android.view.View.sendAccessibilityEventUnchecked(View.java:5135)
android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent.run(ViewRootImpl.java:7463)
android.os.Handler.handleCallback(Handler.java:733)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:157)
android.app.ActivityThread.main(ActivityThread.java:5335)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
上面写的是我收到UNSUPPORTEDOperationException和Application Crashed的几种情况.如果有人知道,请告诉我ROOT CAUSE.
虽然readinf MuPDF遇到了源代码行
x = !x;
Run Code Online (Sandbox Code Playgroud)
想知道上面的代码是做什么的?
编译时也会出错
assuming signed overflow does not occur when simplifying
condition to constant [-Werror=strict-overflow ]
Run Code Online (Sandbox Code Playgroud) Log Collector version: 1.1.0
Device model: ICE_Xtreme
Firmware version: 4.0.4
Kernel version: 3.0.8+
zhang@android )
#37 PREEMPT Mon Jul 9 14:41:20 CST 2012
Build number: crane_pub-eng 4.0.4 IMM76D 20120709 test-keys
D/MediaScanner( 402): to scan /mnt/sdcard/Download/12Mathematics_2.pdf
07-12 16:59:55.929 D/MediaScanner( 402): to scan /mnt/sdcard/Download/6_Maths.pdf
07-12 16:59:55.929 D/MediaScanner( 402): to scan /mnt/sdcard/Download/7_Rainbow.pdf
07-12 16:59:55.929 D/MediaScanner( 402): to scan /mnt/sdcard/Download/4_Mathmagic.pdf
07-12 16:59:55.929 D/MediaScanner( 402): to scan /mnt/sdcard/Download/8_Science.pdf
07-12 16:59:55.929 D/MediaScanner( 402): to scan /mnt/sdcard/Download/6_Math.pdf
07-12 16:59:55.949 D/MediaScanner( 402): to scan/mnt/sdcard/Download/8_Resource_and_Development_Geography.pdf
07-12 16:59:55.949 I/bluedroid( 144): …Run Code Online (Sandbox Code Playgroud) mupdf ×13
android ×8
pdf ×5
ghostscript ×3
annotations ×1
c ×1
c++ ×1
c++11 ×1
image ×1
native ×1
qt ×1
unique-ptr ×1
xpdf ×1