这个问题通过Java用大图像压缩pdf,给出了用Java中的iText压缩PDF的代码。由于在Android中没有Graphics2D,AffineTransform,BufferedImage和ImageIO,因此我想到了通过使用Bitmap类来修改此代码的方法。
更新: 感谢@TilmanHausherr,我将压缩修改为JPEG,并获得了以下工作代码。
public static void manipulatePdf(String src, String dest) throws IOException, DocumentException {
// Read the file
PdfReader reader = new PdfReader(src);
int n = reader.getXrefSize();
PdfObject object;
PRStream stream;
// Look for image and manipulate image stream
for (int i = 0; i < n; i++) {
object = reader.getPdfObject(i);
if (object == null || !object.isStream())
continue;
stream = (PRStream)object;
// if (value.equals(stream.get(key))) {
PdfObject pdfsubtype = stream.get(PdfName.SUBTYPE);
System.out.println(stream.type());
if (pdfsubtype != null && pdfsubtype.toString().equals(PdfName.IMAGE.toString())) { …Run Code Online (Sandbox Code Playgroud) 我有一个android.support.v4.preference.PreferenceFragment,它使用以下PreferenceScreen:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Cat1"
android:key="pref_cat1">
<ListPreference
android:key="pref_list1"
android:title="@string/pref_list1"
android:dialogTitle="@string/pref_list1"
android:entries="@array/pref_list1_entries"
android:entryValues="@array/pref_list1_entries"
android:defaultValue="@string/pref_list1_default"/>
<EditTextPreference
android:key="pref_text2"
android:title="@string/pref_text2"
/>
</PreferenceCategory>
<PreferenceCategory
android:title="Cat2"
android:key="pref_cat2">
<EditTextPreference
android:key="pref_text3"
android:title="@string/pref_text3"
/>
</PreferenceCategory>
Run Code Online (Sandbox Code Playgroud)
显示PreferenceFragment时,会在首选项之间显示一些分隔符,但也会在每个PreferenceCategory的名称下显示.虽然我可以通过访问PreferenceFragment的ListView轻松修改首选项之间的分隔符颜色,但这对PreferenceCategory分隔符没有影响.
如何改变这种分隔线的颜色?
android android-preferences divider android-styles preferencefragment